利用 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 打包项目的时候,打包的是服务器正式接口