微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

详解vue.js根据不同环境(正式、测试)打包到不同目录

1、在build文件夹中创建testing.js文件

rush:js;"> // 配置环境变量 type 为 testing process.env.type = '"testing"' // 引入build.js文件 require('./build')

2、修改config文件夹中的prod.env.js文件

rush:js;"> module.exports = { NODE_ENV: '"production"',// 将上文设置的环境变量,赋值到 type 属性上 type: process.env.type }

3、在package.json文件添加npm run testing命令

rush:js;"> "testing": "node build/testing.js",// 添加testing命令 "build": "node build/build.js"

4、config ->index.js中把build这个命令复制一份改成testing(此步为了打包到不同文件夹)

rush:js;"> build: { env: require('./prod.env'),// Template for index.html index: path.resolve(__dirname,'../dist/index.html'),// Paths assetsRoot: path.resolve(__dirname,'../dist'),assetssubdirectory: 'static',assetsPublicPath: '/mshop/',/** * Source Maps */

productionSourceMap: true,// https://webpack.js.org/configuration/devtool/#production
devtool: '#source-map',// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to true,make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,productionGzipExtensions: ['js','css'],// Run the build command with an extra argument to
// View the bundle analyzer report after build finishes:
// npm run build --report
// Set to true or false to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report
},testing: {
env: require('./prod.env'),index: path.resolve(dirname,'../testing/index.html'),assetsRoot: path.resolve(dirname,'../testing'),assetsPublicPath: '/',productionSourceMap: true,

5、修改build->webpack.prod.conf文件

修改filename

rush:js;"> new HtmlWebpackPlugin({

filename: process.env.type == '"testing"' ? config.testing.index : config.build.index
}),

修改output

rush:js;"> output: { path: process.env.type == '"testing"' ? config.testing.assetsRoot : config.build.assetsRoot,},

6、修改build->build.js文件

路径都修改为根据正式、测试环境判断(不然执行npm run testing,npm run build命令时输出文件有问题)

代码如下:
{

7、根据不同环境配置不同域名地址

rush:js;"> let baseURL if (process.env.NODE_ENV === 'production') { if (process.env.type === 'testing') { // 测试环境 baseUrl = '测试环境地址' } else { // 正式环境 baseUrl = '正式环境地址' } } else { // 本地环境 baseUrl = '本地环境地址' }

后执行:

npm run testing 就会执行测试环境配置的地址,并生成testing文件夹 npm run build就会执行正式环境配置的地址,并生成dist文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐