| | |
| | | }
|
| | | },
|
| | | plugins: [
|
| | | // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
|
| | | new CompressionPlugin({
|
| | | cache: false, // 不启用文件缓存
|
| | | test: /\.(js|css|html)?$/i, // 压缩文件格式
|
| | | filename: '[path].gz[query]', // 压缩后的文件名
|
| | | algorithm: 'gzip', // 使用gzip压缩
|
| | | threshold: 10240, // 对超过10K的数据压缩
|
| | | minRatio: 0.8 // 压缩率小于1才会压缩
|
| | | })
|
| | | ],
|
| | |
| | | })
|
| | | .end()
|
| | |
|
| | | config
|
| | | .when(process.env.NODE_ENV !== 'development',
|
| | | config => {
|
| | | config.when(process.env.NODE_ENV !== 'development', config => {
|
| | | config
|
| | | .plugin('ScriptExtHtmlWebpackPlugin')
|
| | | .after('html')
|
| | |
| | | inline: /runtime\..*\.js$/
|
| | | }])
|
| | | .end()
|
| | | config
|
| | | .optimization.splitChunks({
|
| | | chunks: 'all',
|
| | | cacheGroups: {
|
| | | libs: {
|
| | | name: 'chunk-libs',
|
| | | test: /[\\/]node_modules[\\/]/,
|
| | | priority: 10,
|
| | | chunks: 'initial' // only package third parties that are initially dependent
|
| | | },
|
| | | elementUI: {
|
| | | name: 'chunk-elementUI', // split elementUI into a single package
|
| | | priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
|
| | | test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
|
| | | },
|
| | | commons: {
|
| | | name: 'chunk-commons',
|
| | | test: resolve('src/components'), // can customize your rules
|
| | | minChunks: 3, // minimum common number
|
| | | priority: 5,
|
| | | reuseExistingChunk: true
|
| | | }
|
| | |
|
| | | config.optimization.splitChunks({
|
| | | chunks: 'all',
|
| | | cacheGroups: {
|
| | | libs: {
|
| | | name: 'chunk-libs',
|
| | | test: /[\\/]node_modules[\\/]/,
|
| | | priority: 10,
|
| | | chunks: 'initial' // only package third parties that are initially dependent
|
| | | },
|
| | | elementUI: {
|
| | | name: 'chunk-elementUI', // split elementUI into a single package
|
| | | test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm
|
| | | priority: 20 // the weight needs to be larger than libs and app or it will be packaged into libs or app
|
| | | },
|
| | | commons: {
|
| | | name: 'chunk-commons',
|
| | | test: resolve('src/components'), // can customize your rules
|
| | | minChunks: 3, // minimum common number
|
| | | priority: 5,
|
| | | reuseExistingChunk: true
|
| | | }
|
| | | })
|
| | | }
|
| | | })
|
| | |
|
| | | config.optimization.runtimeChunk('single'),
|
| | | {
|
| | | from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
|
| | | to: './' //到根目录下
|
| | | }
|
| | | }
|
| | | )
|
| | | })
|
| | | }
|
| | | }
|