1. 程式人生 > >wepy根據不同打包命令配置不同的全域性變數

wepy根據不同打包命令配置不同的全域性變數

功能需求:要求能夠根據不同打包命令(測試環境,線上環境)配置出全域性變數,根據這個全域性變數來自動尋找對應環境的介面域名。

如果僅僅做了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 這樣一個全域性變數,這個值就是打包時候配置進去的。