vue-cli 中如何根据运行环境调用接口地址

在使用vue-cli生成的vue项目中如何根据不同的运行环境(开发,测试,线上)调用不同的接口地址?
如测试环境调用 http://test.api.xxx.com:8080 接口地址,
线上环境调用 http://api.xxx.com:8080 接口地址。

阅读 8.2k
3 个回答

修改项目中build文件夹下的webpack.dev.conf.js 和 webpack.prod.conf.js文件,这两个文件分别是webpack开发环境配置和生产环境配置

webpack.prod.conf.js

module.exports ={
     // ...
     plugins: [
        new webpack.DefinePlugin({
            'process.env': env,
            'BASE_URL': '"http://api.xxx.com:8080"'
        })
      ],
     // ...
}

// webpack.dev.conf.js

module.exports ={
     // ...
     plugins: [
        new webpack.DefinePlugin({
            'process.env': env,
            'BASE_URL': '"http://test.api.xxx.com:8080"'
        })
      ],
     // ...
}

调用接口的时候直接使用 BASE_URL 即可

 this.$http.get(BASE_URL + '/getData', function(data) {});

提供一个思路:通过判断域名来选择。目前项目正在用的一种方案,不同的环境,域名肯定是不一样的,在ajax层面上,统一做一次拦截,然后为接口增加域名前缀

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题