Node

以下 Node.js 选项配置是否填充或模拟某些 Node.js 全局变量

此功能由 webpack 的内部 NodeStuffPlugin 插件提供。

node

false object

webpack.config.js

module.exports = {
  //...
  node: {
    global: false,
    __filename: false,
    __dirname: false,
  },
};

node 选项可以设置为 false 以完全关闭 NodeStuffPlugin 插件。

node.global

boolean 'warn'

请参阅 Node.js 文档 以了解此对象的具体行为。

选项

  • true:提供填充。
  • false:不提供任何内容。期望此对象的代码可能会因 ReferenceError 而崩溃。
  • 'warn':在使用 global 时显示警告。

node.__filename

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'

node.__dirname

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'

9 位贡献者

sokraskipjackoneforwonderRob--WbyzykEugeneHlushkoanikethsahachenxsansnitin315