已弃用(适用于 webpack v5):请改用
output.filename。
用于创建自定义路径模板标签的 Webpack 插件。使用您自己的自定义行为扩展 默认模板标签集。挂钩到 Webpack 的编译过程,允许您将标签替换为替代值。
安装
安装模块
npm install @wordpress/custom-templated-path-webpack-plugin --save-dev
注意:此软件包需要 Node.js 12.0.0 或更高版本。它与旧版本不兼容。它仅适用于 webpack v4。
用法
在您的 Webpack 配置 plugins 条目中构造 CustomTemplatedPathPlugin 的实例,传递一个对象,其中键对应于模板标签的名称。每个键的值是一个函数,该函数接收原始预期的路径以及与资产对应的数据。
以下示例创建一个新的 basename 标签,以替换构建输出文件中每个入口文件的基本名称。编译后,生成的文件将输出为 build-entry.js。
const { basename } = require( 'path' );
const CustomTemplatedPathPlugin = require( '@wordpress/custom-templated-path-webpack-plugin' );
module.exports = {
// ...
entry: './entry',
output: {
filename: 'build-[basename].js',
},
plugins: [
new CustomTemplatedPathPlugin( {
basename( path, data ) {
let rawRequest;
const entryModule = get( data, [ 'chunk', 'entryModule' ], {} );
switch ( entryModule.type ) {
case 'javascript/auto':
rawRequest = entryModule.rawRequest;
break;
case 'javascript/esm':
rawRequest = entryModule.rootModule.rawRequest;
break;
}
if ( rawRequest ) {
return basename( rawRequest );
}
return path;
},
} ),
],
};
更多示例,请参阅 Webpack 自身的 TemplatedPathPlugin.js,它实现了基本的模板标签集。
为此软件包做出贡献
这是 Gutenberg 项目的一个独立软件包。该项目组织为一个 monorepo。它由多个自包含的软件包组成,每个软件包都有特定的用途。此 monorepo 中的软件包发布到 npm,并被 WordPress 以及其他软件项目使用。
要了解有关为此软件包或整个 Gutenberg 做出贡献的更多信息,请阅读项目的主 贡献者指南。