前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址

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

作者头像
FungLeo
发布2022-05-05 21:38:51
发布2022-05-05 21:38:51
58000
代码可运行
举报
运行总次数:0
代码可运行

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

前言

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

因此,我们有必要想办法解决这个问题。

本文是 Vue2+VueRouter2+webpack 构建项目实战 的后续文章。理解本文内容,需要VUE相关技术基础。

第一步,分别设置不同的接口地址

首先,我们分别找到下面的文件:

代码语言:javascript
代码运行次数:0
复制
/config/dev.env.js
/config/prod.env.js

其实,这两个文件就是针对生产环境和发布环境设置不同参数的文件。我们打开dev.en.js文件。代码如下:

代码语言:javascript
代码运行次数:0
复制
var merge = require('webpack-merge')
var prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"'
})

好,我们在NODE_ENV下面增加一项,代码如下:

代码语言:javascript
代码运行次数:0
复制
var merge = require('webpack-merge')
var prodEnv = require('./prod.env')

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

然后,我们编辑prod.env.js文件,

代码语言:javascript
代码运行次数:0
复制
module.exports = {
  NODE_ENV: '"production"',
  API_ROOT: '"//www.baidu.com/api"'
}

好。我们分别设定的路径已经有了。下面就是如何调用的问题了。

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

以我们之前的演示代码为例。你自己的项目请根据你自己的情况调整。以下文件和代码仅供参考。

我们打开src/config/api.js文件,将原来开头的代码

代码语言:javascript
代码运行次数:0
复制
// 配置API接口地址
var root = 'https://cnodejs.org/api/v1'

修改为

代码语言:javascript
代码运行次数:0
复制
// 配置API接口地址
var root = process.env.API_ROOT

然后就完成了我们的配置工作。最后,重启项目,就能使新配置的接口地址生效了。

在经过这样的配置之后,我们在运行

代码语言:javascript
代码运行次数:0
复制
npm run dev

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

代码语言:javascript
代码运行次数:0
复制
npm run build

打包项目的时候,打包的是服务器正式接口,我们就不用调来调去得了。

祝开心!

本文由 FungLeo 原创,允许转载,但必须保留首发链接。

2017年06月19日更新

上面的方法是没有问题的。但是需要重新运行 npm run dev 重新跑项目才能成功。

另外,为了解决跨域问题以及其他,我现在不推荐采用这种方式调用接口,而是采用webpack自带的代理功能来实现接口的调用。具体方法参见《webpack+vue-cil 配置接口地址代理以及将项目打包到子目录的方法

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
    • 前言
    • 第一步,分别设置不同的接口地址
    • 第二部,在代码中调用设置好的参数
    • 2017年06月19日更新
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档