lib.shims
- 类型:
- 默认值:
配置 CommonJS 和 ESM 产物的 shims(垫片)。
shims.cjs
将字段设置为 true 以启用对应的 CommonJS 产物 shims。
shims.cjs['import.meta.url']
是否在 CommonJS 产物为 import.meta.url 注入 shims。
- 默认值:
true
选项:
-
true:当 format 为cjs时,源代码中的import.meta.url将被替换为当前模块的 URL。例如,给定以下源代码:
将被转换为以下 CJS 产物代码:
-
false:import.meta.url将保持原样,这将会导致运行时错误。
shims.esm
将字段设置为 true 以启用对应的 ESM 产物 shims。
shims.esm.__filename
是否在 ESM 产物中为 CommonJS 的全局 __filename 注入 shims。
- 默认值:
false
选项:
-
true:当 format 为esm时,源代码中的__filename将被替换为当前模块的文件名。例如,给定以下源代码:
ESM 产物将被转换为:
-
false:__filename将保持原样,这将会导致运行时错误。
shims.esm.__dirname
是否在 ESM 产物中为 CommonJS 的全局 __dirname 注入 shims。
- 默认值:
false
选项:
-
true:当 format 为esm时,源代码中的__dirname将被替换为当前模块的目录名。例如,给定以下源代码:
ESM 产物将被转换为:
-
false:__dirname将保持原样,这将会导致运行时错误。
shims.esm.require
是否在 ESM 产物中为 CommonJS 的全局 require 注入 shims。
- 默认值:
false
选项:
-
true:当 format 为esm时,在产物的开头将会创建一个由createRequire生成的require,可以在源代码中像 CommonJS 的全局require一样使用。例如,给定以下源代码:
ESM 产物将被转换为:
-
false:require将保持原样,这将会导致运行时错误。
