插件可以完成更多 loader 不能完成的功能。
插件的使用一般是在 webpack 的配置信息 plugins 选项中指定。
接下来我们演示一下代码压缩这个插件
1.修改webpack.config.js
,添加plugins:
1 2 3 4 5
| plugins: [ new webpack.optimize.UglifyJsPlugin() ]
|
然后运行npm run build
查看效果
2.这么运行之后发现代码压缩成一行了,不利于查看,现在我们把这个改一下,让他在开发环境压缩代码,在本地环境不进行压缩
修改webpackage.config.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| var webpack = require('webpack'); var path = require('path'); module.exports = { entry: './src/main.js', output: { path: path.resolve(__dirname,'./dist'), filename: 'bundle.js' }, module:{ rules:[ { test:/\.css$/, use:['style-loader','css-loader'] } ] }, plugins: [ ] }; if (process.env.NODE_ENV == 'production') { module.exports.plugins.push( new webpack.optimize.UglifyJsPlugin() ); }
|
修改package.json
1 2 3 4 5
| "scripts": { "dev": "webpack", "production": "NODE_ENV=production webpack", "watch": "npm run build --watch" },
|
最后我们可以分别运行npm run dev
,npm run production
查看生成的js