close
  • 简体中文
  • lib.banner

    • 类型:
    type Banner = {
      js?: string;
      css?: string;
      dts?: string;
    };
    • 默认值: {}

    在每个 JavaScript、CSS 或 类型声明输出文件顶部注入内容。

    对象类型

    banner.js

    • 类型: string
    • 默认值: undefined

    在每个 JavaScript 输出文件顶部注入内容。

    banner.css

    • 类型: string
    • 默认值: undefined

    在每个 CSS 输出文件顶部注入内容。

    banner.dts

    • 类型: string
    • 默认值: undefined

    在每个类型声明输出文件顶部注入内容。

    注意事项

    JavaScript 和 CSS 文件中的 banner 内容是基于 Rspack 的 BannerPlugin 实现的。你需要注意以下几点:

    • 默认启用了 raw: true,所以 banner 内容会作为原始字符串注入,而不是包裹在注释中。因此如果你想注入注释,需要自己添加 /**/ 或其他注释语法。
    • stage 选项被设置在 JavaScript 和 CSS 文件优化之后的阶段,从而防止 banner 内容被优化掉。

    自定义 Banner 内容

    如果上述默认设置无法满足你的需求,你可以通过 tools.rspack.plugins 自定义添加一个带有相应选项的 BannerPlugin 实例。

    rslib.config.ts
    export default {
      lib: [
        {
          // ...
          tools: {
            rspack: {
              plugins: [
                new rspack.BannerPlugin({
                  // ... options
                }),
              ],
            },
          },
        },
      ],
    };
    Warning

    类型声明文件中的 banner 内容处理方式与 JavaScript 和 CSS 输出文件不同。它是直接使用文件系统 API 写入的,所以设置 BannerPlugin 不会对其产生影响。