参考:https://segmentfault.com/a/1190000015424032npm
一:根据不一样的环境变量运行差别化不太大的不一样项目json
1.安装cross-env包segmentfault
cross-env能跨平台地设置及使用环境变量模块化
npm install cross-env --save-devui
2.设置一个变量 在编译阶段,根据编译传入的变量不一样,编译不一样的组件3d
修改package.json里的运行、打包命令(根据文件名进行运行、打包)router
3.修改config下面的prod.env.js配置文件blog
4.组件的拆分:把共用的组件拆分红一个一个的组件路由
目录结构:编译
5.根据项目的不一样建立不一样的文件
每一个文件里面进行组件的重组以及差别化的东西
设置路由文件的时候根据环境变量引入
也能够设置别名 使用别名引入
二:路由模块化(根据路由文件配置的不一样来决定哪一个功能)
例如一共有两个功能,停车功能、商场售票功能。有的商场两个功能都有,有的只有其中的一个
把负责不一样功能的路由写到两个文件中 shop.js park.js
而后在router的index.js中进行整合
根据功能的不一样配置不一样的routes
注:只要import这个路由就算routes里面不配置npm run build打包以后打包文件里仍是会有这个功能的代码 目前就只能使用功能的时候在import引入路由 避免打包进去不须要的代码 还没想到更好的实现方式
若是三个商场中有两个只有首页不同 别的页面是否须要另外复制一份 原先没有路由模块化的时候判断是哪一个商场而且是否是首页来给变量从新赋值是能够实现的 可是路由模块化以后实现不了 只能在复制一份 还没想到更好的方式