Node

以下 Node.js 选项配置是否对某些 Node.js 全局变量 进行 polyfill 或模拟。

此功能由 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:提供 polyfill。
  • 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