搜尋

首頁  >  問答  >  主體

javascript - vue-cli怎麼根據後端介面伺服器不同 build不同介面程式碼?

開發過程中 npm run dev 元件中介面調取的位址是 全域global定義的一個API變數如下:

// 開發環境開啟
// global.API = '/api';

// 測試環境開啟
// global.API = '/test';

// uat環境開啟
// global.API = '/uat';

// 生產環境開啟
// global.API = '/www';

生產環境 npm run build 時如何根據不同介面自動改變API成生產環境變數?

高洛峰高洛峰2741 天前1104

全部回覆(3)我來回復

  • 怪我咯

    怪我咯2017-07-05 10:42:33

    琢磨了幾天vue-cli產生的程式碼,vue覺得你只需要三種設定:開發(npm run dev)、生產(npm run build)和單元測試(npm run test)。 。 。

    吐槽完。

    1.打開config/index.js,修改build裡面的env文件名為根據環境變量獲取,
    修改完大概是下面這樣子:

    module.exports = {
      build: {
        env: require('./'+(process.env.VUE_CONFIG||'prod')+'.env'),
        //......

    2.在config目錄裡面把prod.env.js複製兩份,分別是uat.env.jstesting.env.js

    3.修改dev.env.jsuat.env.jstesting.env.jsprod.env.js這四個文件,在大括號裡面加上API: '" /api或uat或其他什麼"',如下:

    module.exports = {
      NODE_ENV: '"production"',
      API: '"/api"'
    }

    4.然後就可以在任何地方透過process.env.API存取到這個變數了。

    5.打包的時候,先設定環境變數VUE_CONFIG,例如export VUE_CONFIG=uat && npm run build

    回覆
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-05 10:42:33

    https://stackoverflow.com/que...

    回覆
    0
  • 迷茫

    迷茫2017-07-05 10:42:33

    https://github.com/tonyljl526...
    可以看下這個專案的鷹架,基於express和vue2、webpack的。能實現你的需求,主要看config/renderConfig.js

    回覆
    0
  • 取消回覆