const CompressionPlugin = require('compression-webpack-plugin'); module.exports = { publicPath: '/', devServer: { host: '127.0.0.1', port: 8888, proxy: { '/hiver': { target: 'https://dev.xenjoyou.com', // 正式 // target: 'https://storage.xenjoyou.com', // 测试 ws: false }, '/foo': { target: '' } } }, // 打包时不生成.map文件 避免看到源码 productionSourceMap: false, // 部署优化 configureWebpack: { // 使用CDN externals: { vue: 'Vue', 'vue-i18n': 'VueI18n', axios: 'axios', 'vue-router': 'VueRouter', vuex: 'Vuex', 'view-design': 'iview', echarts: 'echarts', apexcharts: 'ApexCharts', xlsx: 'XLSX', dplayer: 'DPlayer', 'print-js': 'printJS', html2canvas: 'html2canvas', 'vue-lazyload': 'VueLazyload', gitalk: 'Gitalk', stompjs: 'Stomp', 'sockjs-client': 'SockJS', vuedraggable: 'vuedraggable', viewerjs: 'Viewer', 'watermark-dom': 'watermark' }, plugins: [ // GZIP压缩 new CompressionPlugin({ test: /\.js$|\.html$|\.css/, // 匹配文件 threshold: 10240 // 对超过10k文件压缩 }) ] } }