123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // 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,
- }
- },
- }
|