/** * 配置参考: * https://cli.vuejs.org/zh/config/ */ // const url = 'http://192.168.31.161:9999' //长龙 // const url = 'http://192.168.31.152:9999' // 泽明 // const url = 'http://62.234.122.43:9999' //正式 // const url = 'http://81.70.55.170:9999' // 新测试服务器IP // const url = 'http://192.168.31.101:9999' // 胜浩 // const url = 'https://zanyong.hfju.com' // 正式域名 // const url = 'http://127.0.0.1:9999' // 本地 const url = 'http://81.70.55.170:9999' // 新测试 // const url = 'http://82.156.35.22:9999' // 新正式ip const CompressionWebpackPlugin = require('compression-webpack-plugin') const productionGzipExtensions = ['js', 'css'] module.exports = { lintOnSave: true, productionSourceMap: false, chainWebpack: config => { const entry = config.entry('app') entry .add('babel-polyfill') .end() entry .add('classlist-polyfill') .end() }, css: { // 忽略 CSS order 顺序警告 extract: { ignoreOrder: true } }, configureWebpack: (config) => { if (process.env.NODE_ENV === 'production') { // 仅在生产环境下启用该配置 return { performance: { // 打包后最大文件大小限制 maxAssetSize: 1024000 }, plugins: [ new CompressionWebpackPlugin({ // filename: '[path].gz[query]', // algorithm: 'gzip', // test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'), // threshold: 1024, // 只有大小大于该值的资源会被处理,当前配置为对于超过1k的数据进行处理,不足1k的可能会越压缩越大 // minRatio: 0.99, // 只有压缩率小于这个值的资源才会被处理 // deleteOriginalAssets: true // 删除原文件 }) ] } } }, // 配置转发代理 devServer: { disableHostCheck: true, port: 8080, proxy: { '/': { target: url, ws: false, // 需要websocket 开启 pathRewrite: { '^/': '/' } }, // 3.5 以后不需要再配置 } } }