欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > HTML >内容正文

HTML

前端区分打包环境

发布时间:2025/3/21 HTML 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 前端区分打包环境 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、安装cross-env

cnpm install --save-dev cross-env

通过cross-env这个插件我们能够跨平台设置环境变量.那么我们怎么来区分到底是生产环境、预生产环境还是测试环境

二、配置各个环境的参数

这里我们vue项目脚手脚版本是2.0 在config/文件夹,我们逐一添加pre.env.js\prod.env.js\test.env.js三个js文件,作为区分环境的依据

//config/pre.env.js'use strict' module.exports = {NODE_ENV: '"prepare"',ENV_CONFIG:'"pre"',//接口地址API:'"//pre/api"' } //config/prod.env.js 'use strict' module.exports = {NODE_ENV: '"production"',ENV_CONFIG:'"prod"',API:'"//prod/api"' } 'use strict' //config/test.env.js module.exports = {NODE_ENV: '"test"',ENV_CONFIG:'"test"',API:'"//test/api"' }

这里可以修改config/dev.env.js来区分本地环境地址

'use strict' //config/dev.env.js const merge = require('webpack-merge') const prodEnv = require('./prod.env')module.exports = merge(prodEnv, {NODE_ENV: '"development"',API:'"//dev/api"' })

三、修改package.json文件

新增打包命令

"scripts": {"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js","start": "npm run dev","build": "node build/build.js","build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js","build:test": "cross-env NODE_ENV=test env_config=test node build/build.js","build:pre": "cross-env NODE_ENV=prepare env_config=pre node build/build.js"},

四、修改config/index.js文件

build: {//添加build参数 prod\test\preprodEnv:require('./prod.env.js'),preEnv:require('./pre.env.js'),testEnv:require('./test.env.js'),// Template for index.htmlindex: path.resolve(__dirname, '../dist/index.html'),

五、修改build/webpackage.prod.conf.js 调整env常量生成的方式

// const env = require('../config/prod.env') const env = config.build[process.env.env_config+'Env']

六、修改build/build.js

'use strict' require('./check-versions')() //process.env.NODE_ENV = 'production'const ora = require('ora') const rm = require('rimraf') const path = require('path') const chalk = require('chalk') const webpack = require('webpack') const config = require('../config') const webpackConfig = require('./webpack.prod.conf')//注释掉添加新的 //const spinner = ora('building for production...') const spinner =ora('building for '+process.env.NODE_ENV+' of '+process.env.env_config+' mode ...') spinner.start()

接下来就可以使用以下命令进行分别打包了

npm run build:test(打包测试地址)

npm run build:pre(打包预生产环境地址)

npm run build:prod(打包生产环境地址)

总结

以上是生活随笔为你收集整理的前端区分打包环境的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。