vue利用webpack搭建开发,uat,生产三套环境

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue利用webpack搭建开发,uat,生产三套环境相关的知识,希望对你有一定的参考价值。

参考技术A webpack本身有dev和prodcution两套环境,我们的项目还有uat环境,只有两套环境并无法满足项目开发的需要,因为我参考webpack搭建dev环境的方式搭建了uat环境。
首先,找到项目的package.json,找到scripts,加上uat指令的定义,

很容易理解,当我们执行npm run dev时候执行node中build目录的dev-server.js,所以我们定义了uat指令执行uat-server.js。

uat-server.js

webpack.uat.conf.js

uat.env.js

找到config下方的index.js
在dev下方增加uat的配置,配置如下:

这样,搭建了dev,uat和production三套环境,我们在dev.env.js增加API_ROOT:

在prod.env.js增加API_ROOT:

在配置api接口的文件中,将baseURL设置成:

这里以axios的设置为例,项目根据实际情况调整。
如此,当我们运行

指向的域名服务器是

当我们运行

指向的域名服务器是

这是前面配置的自定义指令,可根据项目实际情况定义自己的指令
当我们运行

指向的域名服务器是

打包项目的时候,打包的是根据服务器获取到相应的接口,我们就不用调来调去,也不容易出错,有问题欢迎留言讨论。

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

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

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

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

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

‘use strict‘
const merge = require(‘webpack-merge‘)
const prodEnv = require(‘./prod.env‘)

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

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

‘use strict‘
const merge = require(‘webpack-merge‘)
const prodEnv = require(‘./prod.env‘)

module.exports = merge(prodEnv, {
  NODE_ENV: ‘"development"‘,
  BASE_API: ‘"https://easy-mock.com/mock/5950a2419adc231f356a6636/vue-admin"‘,
})

然后,我们编辑prod.env.js文件,代码如下

‘use strict‘
module.exports = {
  NODE_ENV: ‘"production"‘,
  BASE_API: ‘"https://easy-mock.com/mock/5950a2419adc231f356a6636/vue-admin"‘,
}

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

// 配置API接口地址
var root = process.env.BASE_API

完成了我们的配置工作。最后,重启项目,就能使新配置的接口地址生效了。
在经过这样的配置之后,我们在运行npm run dev的时候,跑的就是测试接口。而我们运行npm run build打包项目的时候,打包的是服务器正式接口,就不用调来调去了。




以上是关于vue利用webpack搭建开发,uat,生产三套环境的主要内容,如果未能解决你的问题,请参考以下文章

webpack5项目搭建Vue-Cli(生产环境)

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

webpack5项目搭建Vue-Cli(合并配置)

webpack+vue2.0+nodeJs搭建环境

Windows 环境下vue+webpack前端开发环境搭建

利用vue-cli3快速搭建vue项目详细过程