/* * @Author: your name * @Date: 2021-10-20 13:15:16 * @LastEditTime: 2021-10-26 13:04:29 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: /data-show/vue.config.js */ const CompressionWebpackPlugin = require('compression-webpack-plugin') const productionGzipExtensions = ['js', 'css', 'svg'] // 1. 引入等比适配插件 const px2rem = require('postcss-px2rem') // 2. 配置基本大小 // 配置基本大小 const postcss = px2rem({ // 基准大小 baseSize,需要和rem.js中相同 remUnit: 16 }) module.exports = { productionSourceMap: false, publicPath: "./", // devServer: { // port: "8081", // proxy: { // '/sws': {//代理api // target: "http://cloud.sws010.com",// 代理接口 // changeOrigin: true,//是否跨域 // ws: true, // proxy websockets // pathRewrite: {//重写路径 // "^/sws": ''//代理路径 // } // } // } // }, configureWebpack: config => { if (process.env.NODE_ENV === 'production') { // 配置productionGzip-高级的方式 // 配置参数详解 // asset: 目标资源名称。 [file] 会被替换成原始资源。[path] 会被替换成原始资源的路径, [query] 会被替换成查询字符串。默认值是 "[path].gz[query]"。 // algorithm: 可以是 function(buf, callback) 或者字符串。对于字符串来说依照 zlib 的算法(或者 zopfli 的算法)。默认值是 "gzip"。 // test: 所有匹配该正则的资源都会被处理。默认值是全部资源。 // threshold: 只有大小大于该值的资源会被处理。单位是 bytes。默认值是 0。 // minRatio: 只有压缩率小于这个值的资源才会被处理。默认值是 0.8。 config.plugins.push( new CompressionWebpackPlugin({ filename: '[path].gz[query]', algorithm: 'gzip', test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'), threshold: 10240, minRatio: 0.8 }) ) } else { // 开发环境 } }, css: { loaderOptions: { // 等比缩放的插件 postcss: { plugins: [ postcss ] } } } }