码迷,mamicode.com
首页 > Web开发 > 详细

webpack vue-cli2 配置打包测试环境

时间:2019-10-10 11:00:26      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:files   eve   还需   引号   复制   pac   页面   orm   web   

目前vue-cli2上原配置是只有开发环境dev和线上环境prod的配置,但是我们实际场景上还有很多需要一个测试环境test,下面就是对测试环境的配置,将测试环境和线上环境的打包代码分开就不需要切来切去了

1. 复制一份build/build.js文件命名为build/build-test.js 修改这三处地方

 
技术图片
 

2. 复制一份build/webpack.prod.conf.js文件命名为build/webpack.test.conf.js 修改这三处地方

 
技术图片

3. 复制一份config/prod.env.js文件命名为config/test.env.js

test.env.js

use strict
const merge = require(webpack-merge)
const devEnv = require(./dev.env)

module.exports = merge(devEnv, {
  NODE_ENV: "testing",
  BASE_URL: https://test.com
})

3.1在dev 和 prod 配置文件也分别加上 BASE_URL

dev.env.js

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

module.exports = merge(prodEnv, {
  NODE_ENV: "development",
  BASE_URL: https://localhost:8080
})

 

prod.env.js

use strict
module.exports = {
  NODE_ENV: "production",
  BASE_URL: https://prod.com
}

 

4.在package.json文件里添加一条 npm run test 的启动项

 
技术图片

 

运行npm run test可以看到test的代码已构建到dist-test目录下

技术图片
 

5.可以在封装axios的时候带上process.env.BASE_URL

import Axios from axios

const axios = Axios.create({
    baseURL: process.env.BASE_URL, 
    headers: {
        Content-Type: application/json;charset=UTF-8
    }
})
export default axios;

参考:https://www.jianshu.com/p/30d30d2835b2?tdsourcetag=s_pcqq_aiomsg

此处还需要注意两点:

1、三个文件prod.env.js,dev.env.js,test.env.js中的BASE_URL也要加上双引号,因为是node环境的变量

use strict
module.exports = {
  NODE_ENV: "production",
  BASE_URL: "https://prod.com"
}

2、当运行test命令打包时,会出现页面资源js和css是引入的绝对路径,加载失败的情形,此时需要修改webpack.base.conf.js文件中的publicPath选项

技术图片

 

使test打包的路径和build的保持一致

 

webpack vue-cli2 配置打包测试环境

标签:files   eve   还需   引号   复制   pac   页面   orm   web   

原文地址:https://www.cnblogs.com/gopark/p/11646018.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!