美文网首页
合并项目

合并项目

作者: Aiya_yaya | 来源:发表于2018-11-22 10:22 被阅读0次

1.最终实现结果

先看下目录结构

projectA,projectB是三个业务上没有关系的三个项目,但是可以共用一些公用的组件、公用工具类、公用样式等。

要实现npm run dev/build projectA编译打包的时候,只编译打包项目projectA,而projectB和projectC不会编译打包进来。

实现npm run dev/build + 项目名字编译打包对应的项目

2.实现

分两个步骤

第一是怎样当npm run dev/build + 项目名字的时候让webpack知道你想打包哪个项目

第二是根据项目名称来动态更改一些webpack配置

第一

在config目录下新建两个脚本文件

脚本内容

build.js

let projectName = process.argv[2]

let fs = require('fs')

fs.writeFileSync('./config/project.js', `exports.name = '${projectName}'`)

let exec = require('child_process').execSync;

exec('npm run b', {stdio: 'inherit'});

dev.js

let projectName = process.argv[2]

let fs = require('fs')

fs.writeFileSync('./config/project.js', `exports.name = '${projectName}'`)

let exec = require('child_process').execSync;

exec('npm run d', {stdio: 'inherit'});

再config目录下新建 project.js文件和projectconfig.js

const projectName = require('./project')

const config = {

  projectA:{

    localPath:'./src/projects/projectA/'

  },

  projectB:{

    localPath:'./src/projects/projectB/'

  }

}

const configObj = config[projectName.name]

module.exports = configObj

修改package.json

"scripts": {

    "d": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",

    "b": "node build/build.js",

    "dev": "node config/dev.js",

    "build": "node config/build.js"

  },

const projectConfig = require('../config/projectConfig')

app: ['babel-polyfill', projectConfig.localPath+'main.js']

到此第一步就完成了

以打projectA生产包为例

当执行npm run build projectA的时候,会执行build.js脚本,并把projectA传给脚本

第二

至于webpack配置,可以通过修改HtmlWebpackPlugin的template和修改打包入口路径来动态打包。

首先为每个项目单独新建入口和渲染模板

还是以打projectA生产包为例,即npm run build projectA

根据引入下链接的及联系其作者帮忙解决问题,自己做的备份:https://www.jianshu.com/p/fa19a07b1496

相关文章

  • 合并项目

    1.最终实现结果 先看下目录结构 projectA,projectB是三个业务上没有关系的三个项目,但是可以共用一...

  • 项目构建

    项目构建 gulp 合并、编译、压缩等 简单 使用 webpack 合并、编译、压缩等 强大 使用

  • AndroidStudio合并项目

    由于业务需要,项目A应拥有项目B的所有功能,因此需要将项目B集成到项目A中。主要有两个方案: 将项目B中的必要的源...

  • TortoiseSVN进行版本管理

    针对WIN的TortoiseSVN进行版本管理 合并版本(与对应的Tag版本合并) 选择需要合并的主项目,右击选中...

  • idea svn主干分支合并

    现有主干项目svn-test,分支项目branch-svn-test进行主干合并到分支和分支合并到主干操作 主干合...

  • 考前综合症

    对合并财务报表分析应当重点关注哪些方面 1.合并财务报表的编制方法和合并结果 2.合并财务报表的特殊项目 3.合并...

  • git常用指令

    克隆项目 切换分支 3.本地合并

  • 单元格格式设置

    设置边框 合并后居中 跨越合并 方格加斜线 在项目后出现光标,按住Alt键加enter左对齐在项目前敲击空格,将其...

  • Git将两个项目合并成一个,并保留commit记录

    需求:将两个开发已久的项目合并到一个空项目里,两个项目保留单独的目录及所有commit记录;但是合并以后的git ...

  • A004-合并单元格总是被还原成不合并状态的问题解决

    问题: BPC项目中,用EPM画表,合并单元格: 保存后,总是被还原成不合并状态: 下面是合并单元格...

网友评论

      本文标题:合并项目

      本文链接:https://www.haomeiwen.com/subject/xufubxtx.html