张恒

更新依赖,并加入当生产模式时,压缩代码并且去除控制台输出

...@@ -11,6 +11,7 @@ const BabiliWebpackPlugin = require('babili-webpack-plugin') ...@@ -11,6 +11,7 @@ const BabiliWebpackPlugin = require('babili-webpack-plugin')
11 const CopyWebpackPlugin = require('copy-webpack-plugin') 11 const CopyWebpackPlugin = require('copy-webpack-plugin')
12 const MiniCssExtractPlugin = require('mini-css-extract-plugin') 12 const MiniCssExtractPlugin = require('mini-css-extract-plugin')
13 const HtmlWebpackPlugin = require('html-webpack-plugin') 13 const HtmlWebpackPlugin = require('html-webpack-plugin')
14 +const TerserPlugin = require('terser-webpack-plugin');
14 const { VueLoaderPlugin } = require('vue-loader') 15 const { VueLoaderPlugin } = require('vue-loader')
15 16
16 function resolve(dir) { 17 function resolve(dir) {
...@@ -144,7 +145,9 @@ let rendererConfig = { ...@@ -144,7 +145,9 @@ let rendererConfig = {
144 minify: { 145 minify: {
145 collapseWhitespace: true, 146 collapseWhitespace: true,
146 removeAttributeQuotes: true, 147 removeAttributeQuotes: true,
147 - removeComments: true 148 + removeComments: true,
149 + minifyJS: true,
150 + minifyCSS: true
148 }, 151 },
149 templateParameters(compilation, assets, options) { 152 templateParameters(compilation, assets, options) {
150 return { 153 return {
...@@ -211,6 +214,24 @@ if (process.env.NODE_ENV === 'production') { ...@@ -211,6 +214,24 @@ if (process.env.NODE_ENV === 'production') {
211 minimize: true 214 minimize: true
212 }) 215 })
213 ) 216 )
217 + rendererConfig.optimization = {
218 + minimizer: [
219 + new TerserPlugin({
220 + test: /\.js(\?.*)?$/i,
221 + extractComments: false,
222 + cache: false,
223 + sourceMap: false,
224 + terserOptions: {
225 + warnings: false,
226 + compress: {
227 + warnings: false,
228 + drop_console: true,
229 + drop_debugger: true,
230 + pure_funcs: ['console.log']
231 + },
232 + }
233 + })]
234 + }
214 } 235 }
215 236
216 module.exports = rendererConfig 237 module.exports = rendererConfig
......
...@@ -123,14 +123,15 @@ ...@@ -123,14 +123,15 @@
123 "spectron": "^3.8.0", 123 "spectron": "^3.8.0",
124 "style-loader": "^0.21.0", 124 "style-loader": "^0.21.0",
125 "svg-sprite-loader": "^4.1.6", 125 "svg-sprite-loader": "^4.1.6",
126 + "terser-webpack-plugin": "^2.1.0",
126 "url-loader": "^2.1.0", 127 "url-loader": "^2.1.0",
127 "vue-html-loader": "^1.2.4", 128 "vue-html-loader": "^1.2.4",
128 "vue-loader": "^15.7.1", 129 "vue-loader": "^15.7.1",
129 "vue-style-loader": "^4.1.2", 130 "vue-style-loader": "^4.1.2",
130 "vue-template-compiler": "^2.6.10", 131 "vue-template-compiler": "^2.6.10",
131 "webpack": "^4.40.2", 132 "webpack": "^4.40.2",
132 - "webpack-cli": "^3.3.8", 133 + "webpack-cli": "^3.3.9",
133 - "webpack-dev-server": "^3.7.2", 134 + "webpack-dev-server": "^3.8.1",
134 "webpack-hot-middleware": "^2.25.0", 135 "webpack-hot-middleware": "^2.25.0",
135 "webpack-merge": "^4.2.1" 136 "webpack-merge": "^4.2.1"
136 } 137 }
......