以下 Node.js 选项配置是否对某些 Node.js 全局变量 进行 polyfill 或模拟。
此功能由 webpack 内部的 NodeStuffPlugin
插件提供。
false
object
webpack.config.js
module.exports = {
//...
node: {
global: false,
__filename: false,
__dirname: false,
},
};
node
选项可以设置为 false
,以完全关闭 NodeStuffPlugin
插件。
boolean
'warn'
请参阅 Node.js 文档 以了解此对象的具体行为。
选项
true
:提供 polyfill。false
:不提供任何内容。期望此对象的代码可能会因 ReferenceError
而崩溃。'warn'
:在使用 global
时显示警告。boolean
'mock' | 'warn-mock' | 'node-module' | 'eval-only'
选项
true
:相对于 context
选项的**输入**文件名。false
:Webpack 不会修改您的 __filename
代码,这意味着您将拥有常规的 Node.js __filename
行为。在 Node.js 环境中运行时,为**输出**文件的文件名。'mock'
:固定值 '/index.js'
。'warn-mock'
:使用固定值 '/index.js'
,但显示警告。'node-module'
:当 output.module
启用时,将 CommonJS 模块中的 __filename
替换为 fileURLToPath(import.meta.url)
。'eval-only'
boolean
'mock' | 'warn-mock' | 'node-module' | 'eval-only'
选项
true
:相对于 context
选项的**输入**文件目录名。false
:Webpack 不会修改您的 __dirname
代码,这意味着您将拥有常规的 Node.js __dirname
行为。在 Node.js 环境中运行时,为**输出**文件的目录名。'mock'
:固定值 '/'
。'warn-mock'
:使用固定值 '/'
,但显示警告。'node-module'
:当 output.module
启用时,将 CommonJS 模块中的 __dirname
替换为 fileURLToPath(import.meta.url + "/..")
。'eval-only'