vue.config.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. // gzip 压缩代码
  2. const CompressionPlugin = require('compression-webpack-plugin')
  3. // 打包分析
  4. const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
  5. // terser-webpack-plugin 可不引入, @vue/cli-service 中已经引入了terser-webpack-plugin
  6. // const TerserPlugin = require('terser-webpack-plugin')
  7. //
  8. module.exports = {
  9. devServer: {
  10. port: 8092,
  11. open: true,
  12. // 生产后台服务 ,使用此服务 需要更改环境变量.env.development 改为 ==> VUE_APP_BaseURL=/glsms
  13. // proxy: {
  14. // 'glsms/data': {
  15. // // target: 'http://10.199.143.126', //生产环境
  16. // target: 'http://app.gcgl.wanda.cn/glsms',
  17. // changeOrigin: true,
  18. // secure: false,
  19. // pathRewrite: {
  20. // '^/glsms/data': '/data',
  21. // },
  22. // },
  23. // // 绘图服务
  24. // 'glsms/serve': {
  25. // // target: 'http://10.199.143.129:8080', //生产环境
  26. // target: 'http://app.gcgl.wanda.cn/glsms',
  27. // changeOrigin: true,
  28. // pathRewrite: {
  29. // '^/glsms/serve': '/serve',
  30. // },
  31. // },
  32. // },
  33. // 阿里云后台服务 使用此服务 需要更改环境变量.env.development 改为 ==> VUE_APP_BaseURL=
  34. proxy: {
  35. '/data': {
  36. target: 'http://60.205.177.43', //阿里云
  37. changeOrigin: true,
  38. secure: false,
  39. pathRewrite: {
  40. '^/data': '/data',
  41. },
  42. },
  43. // 绘图服务
  44. '/serve': {
  45. target: 'http://60.205.177.43:8080', //阿里云
  46. changeOrigin: true,
  47. pathRewrite: {
  48. '^/serve': '',
  49. },
  50. },
  51. },
  52. hot: true,
  53. // 关闭esline
  54. overlay: {
  55. warnings: false,
  56. errors: false,
  57. },
  58. },
  59. chainWebpack: (config) => {
  60. config.output.filename('static/js/[name].[hash].js').end()
  61. config.output.chunkFilename('static/js/[name].[hash].js').end()
  62. },
  63. lintOnSave: false,
  64. // 路径
  65. publicPath: process.env.VUE_APP_PublicPath, // 基础路径,在各个环境变量中配置
  66. // 打包名称
  67. outputDir: 'wandaBmGuideH5',
  68. // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录
  69. assetsDir: 'static',
  70. transpileDependencies: [
  71. '@saga-web', // 指定对第三方依赖包进行babel-polyfill处理
  72. ],
  73. productionSourceMap: false,
  74. // CSS 相关选项
  75. css: {
  76. // 将组件内的 CSS 提取到一个单独的 CSS 文件 (只用在生产环境中)
  77. extract: true,
  78. },
  79. // 配置webpack
  80. configureWebpack: (config) => {
  81. // 生成环境,删除console.log和debugger
  82. if (process.env.VUE_APP_RealEnv === 'production') {
  83. config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true //删除console
  84. config.optimization.minimizer[0].options.terserOptions.compress.drop_debugger = true //删除 debugger
  85. config.optimization.minimizer[0].options.terserOptions.compress.pure_funcs = ['console.log'] //删除
  86. }
  87. let plugins = [
  88. // 压缩代码
  89. new CompressionPlugin({
  90. test: /\.js$|\.html$|\.css$/, // 匹配文件名
  91. threshold: 10240, // 对超过10k的数据压缩
  92. deleteOriginalAssets: false, // false 不删除源文件 true 删除源文件
  93. }),
  94. ]
  95. // 生产环境打包分析体积 命令 npm run build --report 或者 yarn build --report
  96. if (process.env.NODE_ENV === 'production' && (process.env.npm_config_report || process.env.npm_config_argv.indexOf('--report') !== -1)) {
  97. plugins.push(new BundleAnalyzerPlugin())
  98. }
  99. return {
  100. plugins,
  101. }
  102. },
  103. }