vue32 —— webpack- plugin

本文详细介绍了webpack中的plugin和loader的区别,重点讲解了如何使用plugin,包括BannerPlugin用于添加版权信息,HtmlWebpackPlugin自动打包并插入js到html,以及UglifyJsWebpackPlugin进行js压缩的配置和应用。通过实例展示了每个plugin的具体用法,帮助开发者更好地掌握webpack的扩展功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

plugin :

插件,对某个现有框架进行扩展

plugin 和 loader 区别

  • loader:主要用于转换某些类型的模块,是一个转换器
  • plugin:插件,是对webpack本身的扩展,是一个扩展器

plugin 使用

  • 通过npm 安装需要的plugin ( 部分插件webpack已经内置,不必安装)
  • 在webpack.config.js中的plugins进行配置

eg

1. BannerPlugin——添加版权的plugin

为打包的文件添加版权声明;内置

配置:

webpack.config.js: 
const webpack = require('webpack')
module.exports = {
  ...
  plugins:{
	new webpack.BannerPlugin('最终版权归zfx所有')
	}
}

会在bundle.js文件 头部添加版权信息

2. HtmlWebpackPlugin——打包html的plugin

将项目根目录下的index.html文件打包到dist文件夹中:
我们的index.html文件还是放在项目根目录下的,但真实发布时,发布的是dist文件夹下的文件,
但目前dist文件夹中没有index.html。

HtmlWebpackPlugin:

  • 自动生成一个index.html文件(可以指定模块生成)
  • 将打包的js文件,自动通过script标签插入到body中

安装与配置:

npm install html-webpack-plugin --save-dev
要删除之前在output中添加的publicPath属性
const HtmlWebpackPlugin = require('html-webpack-plugin') // 导入插件

...
plugins: [
	new HtmlWebpackPlugin({
		template: 'index.html'   //模板
	})
]

3. UglifyJsWebpackPlugin——压缩js的plugin

对打包的js文件进行压缩

安装与配置:
指定版本1.1.1 ,与CLI2保持一致

npm install uglifyjs-webpack-plugin@1.1.1 --save-dev
const uglifyjsPlugin = require('uglifyjs-webpack-plugin')
module.exports = {
...
	plugins: [
		new uglifyjsPlugin()
	]
}

丑化后的js中,版权声明也没了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值