阅读(3920) (27)

Webpack Node

2023-05-16 16:23:39 更新

这些选项可以配置是否 polyfill 或 mock 某些 Node.js 全局变量。

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

node

boolean: false​ ​object

webpack.config.js

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

从 webpack 3.0.0 开始,node 选项可能被设置为 false,以完全关闭 NodeStuffPlugin 插件。

node.global

boolean​ ​'warn'

关于此对象的准确行为,请查看Node.js 文档

选项:

  • true​: 提供 polyfill.
  • false​: 不提供任何 polyfill。代码可能会出现 ReferenceError 的崩溃。
  • 'warn'​: 当使用 global 时展示一个警告。

node.__filename

boolean​ ​'mock' | 'warn-mock' | 'eval-only'

选项:

  • true​: 输入文件的文件名,是相对于 context 选项。
  • false​: webpack 不会更改 __filename 的代码。在 Node.js 环境中运行时,出文件的文件名。
  • 'mock'​: value 填充为 'index.js'。
  • 'warn-mock'​: 使用 '/index.js' 但是会展示一个警告。
  • 'eval-only'

node.__dirname

boolean​ ​'mock' | 'warn-mock' | 'eval-only'

选项:

  • true​: 输入 文件的目录名,是相对于 context 选项。
  • false​: webpack 不会更改 __dirname 的代码,这意味着你有常规 Node.js 中的 __dirname 的行为。在 Node.js 环境中运行时,输出 文件的目录名。
  • 'mock'​: value 填充为 '/'。
  • 'warn-mock'​: 使用 '/' 但是会显示一个警告。
  • 'eval-only'