// gzip 压缩代码 const CompressionPlugin = require('compression-webpack-plugin') // 打包分析 const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin // terser-webpack-plugin 可不引入, @vue/cli-service 中已经引入了terser-webpack-plugin // const TerserPlugin = require('terser-webpack-plugin') // module.exports = { devServer: { port: 8092, open: true, // 生产后台服务 ,使用此服务 需要更改环境变量.env.development 改为 ==> VUE_APP_BaseURL=/glsms // proxy: { // 'glsms/data': { // // target: 'http://10.199.143.126', //生产环境 // target: 'http://app.gcgl.wanda.cn/glsms', // changeOrigin: true, // secure: false, // pathRewrite: { // '^/glsms/data': '/data', // }, // }, // // 绘图服务 // 'glsms/serve': { // // target: 'http://10.199.143.129:8080', //生产环境 // target: 'http://app.gcgl.wanda.cn/glsms', // changeOrigin: true, // pathRewrite: { // '^/glsms/serve': '/serve', // }, // }, // }, // 阿里云后台服务 使用此服务 需要更改环境变量.env.development 改为 ==> VUE_APP_BaseURL= proxy: { '/data': { target: 'http://60.205.177.43', //阿里云 changeOrigin: true, secure: false, pathRewrite: { '^/data': '/data', }, }, // 绘图服务 '/serve': { target: 'http://60.205.177.43:8080', //阿里云 changeOrigin: true, pathRewrite: { '^/serve': '', }, }, }, hot: true, // 关闭esline overlay: { warnings: false, errors: false, }, }, chainWebpack: (config) => { config.output.filename('static/js/[name].[hash].js').end() config.output.chunkFilename('static/js/[name].[hash].js').end() }, lintOnSave: false, // 路径 publicPath: process.env.VUE_APP_PublicPath, // 基础路径,在各个环境变量中配置 // 打包名称 outputDir: 'wandaBmGuideH5', // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录 assetsDir: 'static', transpileDependencies: [ '@saga-web', // 指定对第三方依赖包进行babel-polyfill处理 ], productionSourceMap: false, // CSS 相关选项 css: { // 将组件内的 CSS 提取到一个单独的 CSS 文件 (只用在生产环境中) extract: true, }, // 配置webpack configureWebpack: (config) => { // 生成环境,删除console.log和debugger if (process.env.VUE_APP_RealEnv === 'production') { config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true //删除console config.optimization.minimizer[0].options.terserOptions.compress.drop_debugger = true //删除 debugger config.optimization.minimizer[0].options.terserOptions.compress.pure_funcs = ['console.log'] //删除 } let plugins = [ // 压缩代码 new CompressionPlugin({ test: /\.js$|\.html$|\.css$/, // 匹配文件名 threshold: 10240, // 对超过10k的数据压缩 deleteOriginalAssets: false, // false 不删除源文件 true 删除源文件 }), ] // 生产环境打包分析体积 命令 npm run build --report 或者 yarn build --report if (process.env.NODE_ENV === 'production' && (process.env.npm_config_report || process.env.npm_config_argv.indexOf('--report') !== -1)) { plugins.push(new BundleAnalyzerPlugin()) } return { plugins, } }, }