wepy根據不同打包命令配置不同的全域性變數
阿新 • • 發佈:2018-11-30
功能需求:要求能夠根據不同打包命令(測試環境,線上環境)配置出全域性變數,根據這個全域性變數來自動尋找對應環境的介面域名。
如果僅僅做了1中的配置,僅能從配置檔案中獲取NODE_ENV的值,在業務程式碼上是獲取不到的。
1:在package.json檔案中配置如下資訊:
"scripts": { "dev": "cross-env NODE_ENV=dev wepy build --watch", "build": "cross-env NODE_ENV=production wepy build --no-cache", "dev:web": "wepy build --output web", "clean": "find ./dist -maxdepth 1 -not -name 'project.config.json' -not -name 'dist' | xargs rm -rf", "test": "echo \"Error: no test specified\" && exit 1" },
注意:安裝cross-env外掛。
2:在wepy.config.js檔案中新增這個外掛'transform-node-env-inline'
babel: { sourceMap: true, presets: [ 'env' ], plugins: [ 'transform-class-properties', 'transform-decorators-legacy', 'transform-object-rest-spread', 'transform-export-extensions', // 此處新增 'transform-node-env-inline' ] }
注意:安裝transform-node-env-inline外掛
效果:執行 npm run dev 的時候就會有process.env.NODE_ENV 這樣一個全域性變數,這個值就是打包時候配置進去的。