vue.config.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. const CompressionWebpackPlugin = require("compression-webpack-plugin");
  2. const productionGzipExtensions = /\.(js|css|json|txt|html|ico|svg)(\?.*)?$/i;
  3. module.exports = {
  4. publicPath: './', // 相对于 HTML 页面(目录相同)
  5. configureWebpack: config => {
  6. if(process.env.NODE_ENV === 'production') {
  7. config.plugins.push(
  8. new CompressionWebpackPlugin({
  9. /* [file]被替换为原始资产文件名。
  10. [path]替换为原始资产的路径。
  11. [dir]替换为原始资产的目录。
  12. [name]被替换为原始资产的文件名。
  13. [ext]替换为原始资产的扩展名。
  14. [query]被查询替换。*/
  15. filename: '[path].gz[query]',
  16. //压缩算法
  17. algorithm: 'gzip',
  18. //匹配文件
  19. test: productionGzipExtensions,
  20. //压缩超过此大小的文件,以字节为单位
  21. threshold: 10240,
  22. minRatio: 0.8,
  23. //删除原始文件只保留压缩后的文件
  24. //deleteOriginalAssets: false
  25. })
  26. )
  27. }
  28. },
  29. css: {
  30. loaderOptions: {
  31. less: {
  32. javascriptEnabled: true,
  33. }
  34. }
  35. },
  36. };