webpack5 基本概念 —— 插件(plugin)

本文介绍了webpack5中插件的基本概念,强调插件在webpack构建过程中的重要作用,以及它们能解决loader无法处理的问题。通过示例展示了如何在配置文件和Node API中使用插件,并给出了一个自定义插件的使用场景,利用BannerPlugin在打包后的文件头部添加注释。
摘要由CSDN通过智能技术生成

插件 是 webpack 的 支柱 功能。

Webpack 自身也是构建于在 webpack 配置中用到的 相同的插件系统 之上!

插件目的在于解决 loader无法实现的其他事

如果在插件中使用了 webpack-sources 的 package,请使用 require('webpack').sources 替代 require('webpack-sources'),以避免持久缓存的版本冲突。

webpack 插件是一个具有 apply方法的 JavaScript 对象。

apply 方法会被 webpack compiler 调用,并且在 整个 编译生命周期都可以访问 compiler 对象。

ConsoleLogOnBuildWebpackPlugin.js

const pluginName = 'ConsoleLogOnBuildWebpackPlugin';

class ConsoleLogOnBuildWebpackPlugin {
   
  apply(compiler) {
   
    compiler.hooks.run.tap(pluginName, (compilation) => {
   
      console.log('webpack 构建正在启动!');
    });
  }
}

module.exports = ConsoleLogOnBuildWebpackPlugin;

compiler hook 的 tap 方法的第一个参数,应该是驼峰式命名的插件名称。

建议为此使用一个常量,以便它可以在所有 hook 中重复使用。

用法

由于插件可以携带参数/选项,所以,必须在 webpack 配置中,向 plugins 属性传入一个 new 实例。

配置方式

webpack.config.js

const HtmlWebpackPlugin = require('html-webpack-plugin');
const webpack = require('webpack'); // 访问内置的插件
const path = require
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值