这些选项可以配置是否 polyfill 或 mock 某些 Node.js 全局变量。
此功能由 webpack 内部的 NodeStuffPlugin
插件提供。
boolean: false
object
webpack.config.js
module.exports = {
//...
node: {
global: false,
__filename: false,
__dirname: false,
},
};
从 webpack 3.0.0 开始,node
选项可能被设置为 false
,以完全关闭 NodeStuffPlugin
插件。
boolean
'warn'
关于此对象的准确行为,请查看Node.js 文档。
选项:
true
: 提供 polyfill.false
: 不提供任何 polyfill。代码可能会出现 ReferenceError
的崩溃。'warn'
: 当使用 global
时展示一个警告。boolean
'mock' | 'warn-mock' | 'eval-only'
选项:
true
: 输入文件的文件名,是相对于 context
选项。false
: webpack 不会更改 __filename
的代码。在 Node.js 环境中运行时,出文件的文件名。'mock'
: value 填充为 'index.js'
。'warn-mock'
: 使用 '/index.js'
但是会展示一个警告。'eval-only'
boolean
'mock' | 'warn-mock' | 'eval-only'
选项:
true
: 输入 文件的目录名,是相对于 context
选项。false
: webpack 不会更改 __dirname
的代码,这意味着你有常规 Node.js 中的 __dirname
的行为。在 Node.js 环境中运行时,输出 文件的目录名。'mock'
: value 填充为 '/'
。'warn-mock'
: 使用 '/'
但是会显示一个警告。'eval-only'
Webpack 5 现已正式发布。请阅读我们的 发布公告。如还未准备升级,请阅读 webpack 4 文档。