Webpack Plugin
插件 是 webpack 的 支柱 功能。
插件目的在于解决 loader 无法实现的其他事。
剖析
webpack 插件是一个具有 apply
方法的 JavaScript 对象。apply
方法会被 webpack compiler 调用,并且在 整个 编译生命周期都可以访问 compiler 对象。
ConsoleLogOnBuildWebpackPlugin.js
1 | const pluginName = 'ConsoleLogOnBuildWebpackPlugin'; |
compiler hook 的 tap 方法的第一个参数,应该是驼峰式命名的插件名称。建议为此使用一个常量,以便它可以在所有 hook 中重复使用。
用法
由于插件可以携带参数/选项,你必须在 webpack 配置中,向 plugins
属性传入一个 new
实例。
配置方式
webpack.config.js
1 | const HtmlWebpackPlugin = require('html-webpack-plugin'); |
Node API 方式
在使用 Node API 时,还可以通过配置中的 plugins
属性传入插件。
some-node-script.js
1 | const webpack = require('webpack'); // 访问 webpack 运行时(runtime) |