阅读(3268) (0)

BannerPlugin

2023-05-22 10:04:18 更新

为每个 chunk 文件头部添加 banner。

const webpack = require('webpack');

new webpack.BannerPlugin(banner);
// 或者
new webpack.BannerPlugin(options);

选项

{
  banner: string | function, // 其值为字符串或函数,将作为注释存在
  raw: boolean, // 如果值为 true,将直接输出,不会被作为注释
  entryOnly: boolean, // 如果值为 true,将只在入口 chunks 文件中添加
  test: string | RegExp | [string, RegExp], // 包含所有匹配的模块
  include: string | RegExp | [string, RegExp], // 根据条件匹配所有模块
  exclude: string | RegExp | [string, RegExp], // 根据条件排除所有模块
  footer?: boolean, // 如果值为 true,banner 将会位于编译结果的最下方
}

用法

import webpack from 'webpack';

// 字符串
new webpack.BannerPlugin({
  banner: 'hello world',
});

// 函数
new webpack.BannerPlugin({
  banner: (yourVariable) => {
    return `yourVariable: ${yourVariable}`;
  },
});

占位符

从 webpack 2.5.0 开始,会对 banner 字符串中的占位符取值:

import webpack from 'webpack';

new webpack.BannerPlugin({
  banner:
    'fullhash:[fullhash], chunkhash:[chunkhash], name:[name], filebase:[filebase], query:[query], file:[file]',
});

Further Reading