利用 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 打包项目的时候, 打包的是服务器正式接口
来源: http://www.jb51.net/article/138799.htm