# output.banner/output.footer

类型: string | ((chunk: ChunkInfo) => string| Promise<string>)
CLI: --banner/--footer <text>

该选项用于在 bundle 前或后添加一个字符串。其值也可以是一个返回 string 的 Promise 异步函数(注意:banner 和 footer 选项不会破坏 sourcemaps)。

如果该选项值为函数,参数 chunk 包含了额外信息,使用了与 generateBundle 钩子相同的 ChunkInfo 类型,但有以下区别:

  • code 和 map 没有设置,因为该 chunk 还没有被渲染。
  • 所有包含哈希值的引用 chunk 文件名将包含哈希占位符。包括 fileName、imports、importedBindings、dynamicImports 和 implicitlyLoadedBefore。当你在该选项返回的代码中使用这样的占位符文件名或部分文件名时,Rollup 将在 generateBundle 之前用实际的哈希值替换掉占位符,确保哈希值反映的是最终生成的 chunk 中的实际内容,包括所有引用的文件哈希值。

chunk 是可变的,在这个钩子中应用的变化将传递到其他插件和生成的 bundle 中。这意味着如果你在这个钩子中增加或删除引入或导出,你应该更新 imports、importedBindings 以及 exports。

// rollup.config.js
export default {
  ...,
  output: {
    ...,
    banner: '/* my-library version ' + version + ' */',
    footer: '/* follow me on Twitter! @rich_harris */'
  }
};

另见 output.intro/output.outro。

Last Updated: 6/14/2023, 8:56:23 AM