You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

54 lines
1.5 KiB

const CompressionPlugin = require('compression-webpack-plugin');
module.exports = {
publicPath: '/',
devServer: {
host: '127.0.0.1',
port: 8888,
proxy: {
'/hiver': {
// target: 'https://hbkuaishi.com', // 正式
target: 'http://192.168.100.42:8888', // 本地
// target: 'https://storage.xenjoyou.com', // 测试
ws: false
},
'/foo': {
target: '<other_url>'
}
}
},
// 打包时不生成.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文件压缩
})
]
}
}