VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
2018-01-11 14:25
746 查看
我们在开发项目的时候,往往会在同一个局域网进行开发,前后端分离同时进行开发。我们前端调用后端给的接口也是在局域网内部的。但是,当项目推到线上的时候,我们会从真实服务器上获取接口,因此,我们可能在测试接口和真实接口之间频繁切换,让人十分恶心。
因此,我们有必要想办法解决这个问题。
本文是 Vue2+VueRouter2+webpack 构建项目实战
的后续文章。理解本文内容,需要VUE相关技术基础。
首先,我们分别找到下面的文件:
2
其实,这两个文件就是针对生产环境和发布环境设置不同参数的文件。我们打开
2
3
4
5
6
好,我们在
2
3
4
5
6
7
然后,我们编辑
2
3
4
好。我们分别设定的路径已经有了。下面就是如何调用的问题了。
以我们之前的演示代码为例。你自己的项目请根据你自己的情况调整。以下文件和代码仅供参考。
我们打开
2
修改为
2
然后就完成了我们的配置工作。最后,重启项目,就能使新配置的接口地址生效了。
在经过这样的配置之后,我们在运行
的时候,跑的就是测试接口。而我们运行
打包项目的时候,打包的是服务器正式接口,我们就不用调来调去得了。
祝开心!
本文由 FungLeo 原创,允许转载,但必须保留首发链接。
上面的方法是没有问题的。但是需要重新运行
另外,为了解决跨域问题以及其他,我现在不推荐采用这种方式调用接口,而是采用webpack自带的代理功能来实现接口的调用。具体方法参见《webpack+vue-cil 配置接口地址代理以及将项目打包到子目录的方法》
因此,我们有必要想办法解决这个问题。
本文是 Vue2+VueRouter2+webpack 构建项目实战
的后续文章。理解本文内容,需要VUE相关技术基础。
第一步,分别设置不同的接口地址
首先,我们分别找到下面的文件:/config/dev.env.js /config/prod.env.js1
2
其实,这两个文件就是针对生产环境和发布环境设置不同参数的文件。我们打开
dev.en.js文件。代码如下:
var merge = require('webpack-merge') var prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"' })1
2
3
4
5
6
好,我们在
NODE_ENV下面增加一项,代码如下:
var merge = require('webpack-merge') var prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', API_ROOT: '"//192.168.1.8/api"' })1
2
3
4
5
6
7
然后,我们编辑
prod.env.js文件,
module.exports = { NODE_ENV: '"production"', API_ROOT: '"//www.baidu.com/api"' }1
2
3
4
好。我们分别设定的路径已经有了。下面就是如何调用的问题了。
第二部,在代码中调用设置好的参数
以我们之前的演示代码为例。你自己的项目请根据你自己的情况调整。以下文件和代码仅供参考。我们打开
src/config/api.js文件,将原来开头的代码
// 配置API接口地址 var root = 'https://cnodejs.org/api/v1'1
2
修改为
// 配置API接口地址 var root = process.env.API_ROOT1
2
然后就完成了我们的配置工作。最后,重启项目,就能使新配置的接口地址生效了。
在经过这样的配置之后,我们在运行
npm run dev1
的时候,跑的就是测试接口。而我们运行
npm run build1
打包项目的时候,打包的是服务器正式接口,我们就不用调来调去得了。
祝开心!
本文由 FungLeo 原创,允许转载,但必须保留首发链接。
2017年06月19日更新
上面的方法是没有问题的。但是需要重新运行 npm run dev重新跑项目才能成功。
另外,为了解决跨域问题以及其他,我现在不推荐采用这种方式调用接口,而是采用webpack自带的代理功能来实现接口的调用。具体方法参见《webpack+vue-cil 配置接口地址代理以及将项目打包到子目录的方法》
相关文章推荐
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
- VUE 利用webpack 给生产环境和发布环境配置不同的接口地址
- vue-cli项目开发/生产环境代理实现跨域请求+webpack配置开发/生产环境的接口地址
- vue项目配置生产环境和发布环境的接口地址
- vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
- 通过vue-cli来学习修改Webpack多环境配置和发布问题
- webpack+vue-cil 中proxyTable配置接口地址代理
- vue-cli生成的项目配置开发和生产环境不同的接口
- vue项目webpack中Npm传递参数配置不同域名接口
- Maven 利用Profile属性配置,生成不同环境(生产、测试)下的发布包
- webpack+vue-cil 配置接口地址代理以及将项目打包到子目录的方法
- 分离Webpack开发环境与生产环境的配置
- webpack---webpack构建vue多页面框架(三、生产环境与开发环境)
- vue项目根据不同环境区分接口地址
- 对vue中 默认的 config/index.js:配置的详细理解 -【以及webpack配置的理解】-config配置的目的都是为了服务webpack的配置,给不同的编译条件提供配置