认识plugin
plugin是插件的意思,通常是用与对某个现有的架构进行扩展。
webpack中的插件,就是对webpack现有功能的各种扩展,比如打包优化,文件压缩等等。
loader和plugin的区别
loader主要用于转换某些类型的模块,他是一个转换器
plugin是插件,它是对webpack本身的扩展,是一个扩展器
plugin的使用过程
步骤一:通过npm 安装需要使用的plugins
步骤二:在webpack.config.js中的plugins中配置插件
在webpack.config.js中书写如下代码
- 添加版权的plugin
// 引入webpack模块
const webpack = require('webpack');
module.exports={
plugins: [
// 添加版权
new webpack.BannerPlugin('最终版权归xxxx所有')
]
}
- 打包html的plugin
作用: 自动生成一个index.html文件(可以指定模板生成) 将打包的js文件,自动通过script标签插入到body中
安装HtmlWebpackPlugin插件
在终端使用如下命令下载所需的plugin
npm install html-webpack-plugin --save-dev
利用const HtmlwebpackPlugin = require('html-webpack-plugin')
将其引入到webpack.config.js中
const HtmlwebpackPlugin = require('html-webpack-plugin');
module.exports={
plugins: [
// 添加版权
new webpack.BannerPlugin('最终版权归xxxx所有'),
// 打包HTML
new HtmlwebpackPlugin({
template:'index.html'
})
]
}
- js压缩的plugin
作用:对js代码进行压缩
在终端使用如下命令下载所需的plugin
npm install uglifyjs-webpack-plugin@1.1.1 --save-dev
修改webpack.config.js文件,使用插件
const UglifyjswebpackPlugin = require('uglifyjs-webpack-plugin');
module.exports={
plugins: [
// 添加版权
new webpack.BannerPlugin('最终版权归xxxx所有'),
// 打包HTML
new HtmlwebpackPlugin({
template:'index.html'
}),
// js压缩 可能会涉及到版本问题(版本不同,终端可能会报错)
new UglifyjswebpackPlugin()
]
}