代码拉取完成,页面将自动刷新
// console.log('process.env.NODE_ENV', process.env.NODE_ENV) // 默认development(在终端输出)
const configs = require('./config/elliotConfig');
// 用于做相应的 merge 处理
const merge = require('webpack-merge');
function config(){
const NODE_ENV = process.env.NODE_ENV
console.log('NODE_ENV', NODE_ENV)
switch (NODE_ENV) {
case 'testDev':
return configs.testDev.env
break
case 'testDevCdn':
return configs.testDevCdn.env
break
case 'testBuild':
return configs.testBuild.env
break
case 'productDev':
return configs.productDev.env
break
case 'productDevCdn':
return configs.productDevCdn.env
break
case 'productBuild':
return configs.productBuild.env
default:
return configs.productBuild.env
}
}
// 根据环境判断使用哪份配置
const cfg = config()
console.log('cfg', cfg)
module.exports = {
configureWebpack: {
performance: {
maxEntrypointSize: 500000000,
},
resolve: {
alias: {
_assets: '@/assets', // 静态资源
_cache: '@/cache', // 缓存
_utils: '@/utils', // 函数库
_commonFn: '_utils/common', // 公共函数库
_projectFn: '_utils/project', // 项目专用函数库
_components: '@/components', // 组件库
_network: '@/network', // 网络请求
_router: '@/router', // 路由配置
_store: '@/store', // VUEX
_views: '@/views', // 页面
}
}
},
// 该配置会修改 webpack 中 devtool 项的值为 source-map
// 该配置项用于设置是否为生产环境构建生成 source map,一般在生产环境下为了快速定位错误信息,我们都会开启 source map
productionSourceMap: true,
devServer: {
// open: true, // 是否自动打开浏览器页面
// host: '0.0.0.0', // 指定使用一个 host。默认是 localhost
// port: 8080, // 端口地址
// https: false, // 使用https提供服务
// proxy: null, // string | Object 代理设置
// 提供在服务器内部的其他中间件之前执行自定义中间件的能力
// before: app => {
// `app` 是一个 express 实例
// }
},
chainWebpack: config => {
config.plugin('define')
.tap(args => {
let name = 'process.env';
// 使用 merge 保证原始值不变
args[0][name] = merge(args[0][name], cfg);
return args
})
config.output.filename('[name].[hash].js').end()
},
// outputDir: 'hello' // 打包生成的文件夹名称
publicPath: './',
assetsDir: './'
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。