|
@@ -33,10 +33,6 @@ const config = {
|
|
devServer: {
|
|
devServer: {
|
|
host: '0.0.0.0',
|
|
host: '0.0.0.0',
|
|
port: 8080,
|
|
port: 8080,
|
|
- //解析缓存
|
|
|
|
- disableHostCheck: true,
|
|
|
|
- //支持gzip
|
|
|
|
- compress: true,
|
|
|
|
},
|
|
},
|
|
chainWebpack: (config) => {
|
|
chainWebpack: (config) => {
|
|
config.entry.app = ['babel-polyfill', '../src/projects/business/main.js']
|
|
config.entry.app = ['babel-polyfill', '../src/projects/business/main.js']
|
|
@@ -55,30 +51,11 @@ const config = {
|
|
//config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
|
|
//config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
|
|
},
|
|
},
|
|
configureWebpack: config => {
|
|
configureWebpack: config => {
|
|
- //开启gzip压缩,需要配置Nginx服务器gzip选项开启
|
|
|
|
- config.plugins.push(
|
|
|
|
- new CompressionWebpackPlugin({
|
|
|
|
- algorithm: 'gzip', //开启gzip
|
|
|
|
- test: /\.js$|\.html$|.\css/, // 匹配文件名
|
|
|
|
- threshold: 10240, // 对超过10k的数据压缩
|
|
|
|
- deleteOriginalAssets: false // 不删除源文件
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
|
|
+
|
|
|
|
|
|
- config.output.filename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
- config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
|
|
|
|
|
|
+ config.output.filename = `./static/js/[name].${Timestamp}.js?v=${Timestamp}`
|
|
|
|
+ config.output.chunkFilename = `./static/js/[name].${Timestamp}.js?v=${Timestamp}`
|
|
|
|
|
|
- config.performance = {
|
|
|
|
- hints: 'warning',
|
|
|
|
- //入口起点的最大体积 整数类型(以字节为单位)
|
|
|
|
- maxEntrypointSize: 50000000,
|
|
|
|
- //生成文件的最大体积 整数类型(以字节为单位 300k)
|
|
|
|
- maxAssetSize: 30000000,
|
|
|
|
- //只给出 js 文件的性能提示
|
|
|
|
- assetFilter: function(assetFilename) {
|
|
|
|
- return assetFilename.endsWith('.js');
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
|