利用 webpack 给生产环境和发布环境配置不同的接口地址

在开发时,前后端分离同时进行开发。前端调用后端给的接口也是在局域网内部的。但是,当项目推到线上的时候,会从真实服务器上获取接口,在测试接口和真实接口之间频繁切换,让人十分恶心。

第一步,在webpack配置文件中,分别设置不同的接口地址

打开dev.en.js文件。修改如下:

var merge = require('webpack-merge')
var prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
 NODE_ENV: '"development"',
 API_ROOT: '"//192.168.1.8/api"' // 添加api地址
})

同样在prod.env.js文件中

module.exports = {
 NODE_ENV: '"production"',
 API_ROOT: '"//www.baidu.com/api"'
}

第二步,在代码中调用设置好的参数

比如我的: src/config/api.js文件

// 原来的API接口地址
var root = 'https://cnodejs.org/api/v1'
// 新配置的API接口地址
var root = process.env.API_ROOT

最后

npm run dev 的时候,跑的就是测试接口。而我们运行

npm run build 打包项目的时候,打包的是服务器正式接口

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!