本节内容派生于以下链接指向的内容 ,并遵守 CC BY 4.0 许可证的规定。
以下内容如果没有特殊声明,可以认为都是基于原内容的修改和删减后的结果。
全局变量:该选项可以配置是否 polyfill 或 mock 某些 Node.js 全局变量。
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:
export default {
node: {
global: false,
},
};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 进行任何处理:
export default {
node: {
__filename: false,
},
};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 进行任何处理:
export default {
node: {
__dirname: false,
},
};