CC 4.0 协议
本节内容派生于以下链接指向的内容 ,并遵守 CC BY 4.0 许可证的规定。
以下内容如果没有特殊声明,可以认为都是基于原内容的修改和删减后的结果。
Node
全局变量:该选项可以配置是否 polyfill 或 mock 某些 Node.js 全局变量。
node.global
- 类型:
boolean | 'warn' - 默认值:
'warn'
控制 Rspack 在为非 Node 环境打包时,是否需要为 Node.js 的 global 对象提供 polyfill。
关于该对象的具体行为,请参考 Node.js 文档。
可选值有:
true:Rspack 会注入 polyfill,使打包产物中能够使用global。适用于依赖 Node.js 全局变量、但运行在非 Node 环境的代码。false:不注入 polyfill。对global的引用将保持原样。如果目标环境不支持global,运行时会抛出ReferenceError。'warn':行为与true相同,会注入 polyfill,同时在使用global时额外打印警告。
例如,禁用 global polyfill:
rspack.config.mjs
node.__filename
- 类型:
boolean | 'mock' | 'warn-mock' | 'eval-only' - 默认值:
'warn-mock',当启用 output.module 时为'node-module'
控制 Rspack 在为非 Node 环境打包时,如何处理 Node.js 的 __filename 变量。
可选值有:
true:输入文件的文件名,是相对于context选项。false:Rspack 不会更改__filename的代码。在 Node.js 环境中运行时输出文件的文件名。'mock':固定值为 '/index.js'。'warn-mock':使用固定值 '/index.js',但会发出警告。'node-module':当output.module启用时,将 CommonJS 模块中的__filename替换为fileURLToPath(import.meta.url)。'eval-only':等同于false。
例如,不对 __filename 进行任何处理:
rspack.config.mjs
node.__dirname
- 类型:
boolean | 'mock' | 'warn-mock' | 'eval-only' - 默认值:
'warn-mock',当启用 output.module 时为'node-module'
控制 Rspack 在为非 Node 环境打包时,如何处理 Node.js 的 __dirname 变量。
可选值有:
true:输入 文件的目录名,是相对于context选项。false:Rspack 不会更改__dirname的代码,这意味着你有常规 Node.js 中的__dirname的行为。在 Node.js 环境中运行时,输出 文件的目录名。'mock':value 填充为'/'。'warn-mock':使用'/'但是会显示一个警告。'node-module': 当启用output.module时,将 CommonJS 模块中的__dirname替换为fileURLToPath(import.meta.url + "/..")。'eval-only':等同于false。
例如,不对 __dirname 进行任何处理:
rspack.config.mjs

