// const webpack = require('webpack') const path = require('path') const proxy = process.env.NODE_ENV === 'production' ? require('./proxy-pro') : require('./proxy-dev') const day = new Date() const date = day.getFullYear() + (day.getMonth() + 1 < 10 ? '0' + (day.getMonth() + 1) : '' + (day.getMonth() + 1)) + (day.getDate() < 10 ? '0' + (day.getDate()) : day.getDate()) + '-' + day.getHours() + 'H' + day.getMinutes() + 'M' module.exports = { publicPath: '/', //部署路径后缀 outputDir: 'MH' + date, // 生产环境构建文件的目录。注意目标目录在构建之前会被清除 (构建时传入 --no-clean 可关闭该行为) assetsDir: 'static', // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。 indexPath: 'index.html', // 指定生成的 index.html 的输出路径 (相对于 outputDir)。也可以是一个绝对路径。 filenameHashing: true, // 文件名hash,默认 lintOnSave: false, // 开发环境下通过 eslint-loader 在每次保存时 lint 代码 productionSourceMap: false, // 关闭生产环境的 source map devServer: { // 所有 webpack-dev-server 的选项都支持 host: proxy.localhost ? proxy.localhost : 'localhost', //target host port: 3000, // 开发服务器端口 open: true, // 自动打开浏览器 hot: true, // 是否热更新 overlay: { // 浏览器 overlay 同时显示警告和错误(弹窗报错) warnings: true, errors: true }, proxy: proxy.table || 'localhost', // historyApiFallback: { // index: '/' //与output的publicPath // }, }, // /** // * 分别为生成环境和开发环境配置 configureWebpack: config => { if (process.env.NODE_ENV === 'production') { // 为生产环境修改配置... config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true } else { // 为开发环境修改配置... } Object.assign(config.resolve, { alias: { '@': path.resolve(__dirname, './src'), '@a': '@/assets', '@c': '@/components', '@v': '@/views' }, }) Object.assign(config, { externals: { // 大数据地图 // 'JMap': 'JMap', // 'JMapQuery': 'JMapQuery', // 高德地图 'AMap': 'AMap', 'AMapUI': 'AMapUI' } }) }, // */ css: { loaderOptions: { scss: { prependData: `@import "@/assets/scss/element-ui.scss";` } } }, // configureWebpack: { // 如果这个值是一个对象,则会通过 webpack-merge 合并到最终的配置中 // name: '闵行消防项目', // 提供应用程序的标题, 一般设置为项目名称即可 // resolve: { // alias: { // 配置别名 // '@a': '@/assets', // '@c': '@/components', // '@v': '@/views' // } // }, // performance: { // 一个资源超过多少(默认250000 (bytes)),如何展示性能提示 // hints: "error", // false | "error" | "warning" // maxEntrypointSize: 400000, // 设置入口起点的最大体积 // maxAssetSize: 300000, // 最大单个资源体积,默认250000 (bytes) // } // }, // chainWebpack(config) { //是一个函数,会接收一个基于 webpack-chain 的 ChainableConfig 实例。允许对内部的 webpack 配置进行更细粒度的修改。 // 修改Loader选项、添加新的Loader、替换一个规则类的Loader、修改插件 // } }