參考: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引入路由 避免打包進去不須要的代碼 還沒想到更好的實現方式
若是三個商場中有兩個只有首頁不同 別的頁面是否須要另外複製一份 原先沒有路由模塊化的時候判斷是哪一個商場而且是否是首頁來給變量從新賦值是能夠實現的 可是路由模塊化以後實現不了 只能在複製一份 還沒想到更好的方式