背景:
项目已完成微前端拆分,但并未进行整合,在构建和开发过程中需要打开四个项目,十分不便捷
目的:
在不改变原有项目启动和打包流程的前提下,整合前端项目。将所有项目归结到一个文件中,通过脚本控制可以一条命令启动所有项目和打包所有项目,方便开发
方式:
通过npm-run-all指令合理控制所有项目的打包指令
改动:
- 将pumpkin-fronted-framework,pumpkin-vue-cloud,pumpkin-vue-mall,pumpkin-vue-portal四个项目合并至pumpkin-frontend这一个大项目中
- 原有项目在svn中的地址已迁移至pumpkin-frontend项目的svn地址目录下
- 所有生态相关项目均改成了yarn包管理工具
- 拉取最新项目地址https://192.168.201.253:55201/svn/618-code/trunk/pumpkin-frontend,并运行yarn 安装依赖
- 进入pumpkin-frontend项目,运行yarn run main:install,一次安装所有项目依赖
- 进入pumpkin-frontend项目,运行yarn run main:start,并行启动所有项目开发环境
- 进入pumpkin-frontend项目,运行yarn run main:build,并行打包所有项目代码
- 进入pumpkin-frontend项目,运行yarn run main:lint,并行检查所有项目eslint格式
效果:
"scripts": {
"main:install": "npm-run-all --serial install:*",
"main:start": "npm-run-all --parallel start:*",
"main:build": "npm-run-all --parallel build:*",
"main:zhejiang": "npm-run-all --parallel \"start:* -- --mode zhejiang\"",
"main:build:zhejiang": "npm-run-all --parallel \"build:* -- --mode zhejiang.build\"",
"main:changzhou": "npm-run-all --parallel \"start:* -- --mode changzhou\"",
"main:build:changzhou": "npm-run-all --parallel \"build:* -- --mode changzhou.build\"",
"main:shanxi": "npm-run-all --parallel \"start:* -- --mode shanxi\"",
"main:build:shanxi": "npm-run-all --parallel \"build:* -- --mode shanxi.build\"",
"main:shandong": "npm-run-all --parallel \"start:* -- --mode shandong\"",
"main:build:shandong": "npm-run-all --parallel \"build:* -- --mode shandong.build\"",
"main:lint": "npm-run-all --parallel lint:*",
"install:framework": "cd pumpkin-fronted-framework && yarn",
"start:framework": "cd pumpkin-fronted-framework && yarn run serve",
"build:framework": "cd pumpkin-fronted-framework && yarn run build",
"lint:framework": "cd pumpkin-fronted-framework && yarn run lint",
"install:portal": "cd pumpkin-vue-portal && yarn",
"start:portal": "cd pumpkin-vue-portal && yarn run serve",
"build:portal": "cd pumpkin-vue-portal && yarn run build",
"lint:portal": "cd pumpkin-vue-portal && yarn run lint",
"install:cloud": "cd pumpkin-vue-cloud && yarn",
"start:cloud": "cd pumpkin-vue-cloud && yarn run serve",
"build:cloud": "cd pumpkin-vue-cloud && yarn run build",
"lint:cloud": "cd pumpkin-vue-cloud && yarn run lint",
"install:mall": "cd pumpkin-vue-mall && yarn",
"start:mall": "cd pumpkin-vue-mall && yarn run serve",
"build:mall": "cd pumpkin-vue-mall && yarn run build",
"lint:mall": "cd pumpkin-vue-mall && yarn run lint"
},