首页  >  问答  >  正文

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成生产环境变量?

高洛峰高洛峰2663 天前1035

全部回复(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
  • 取消回复