node-polyfill-webpack-plugin

Polyfill Node.js core modules in Webpack.

MIT 14 个版本
安装
npm install node-polyfill-webpack-plugin
yarn add node-polyfill-webpack-plugin
pnpm add node-polyfill-webpack-plugin
bun add node-polyfill-webpack-plugin
README

node-polyfill-webpack-plugin

Polyfill Node.js core modules in Webpack.

This module is only needed for Webpack 5+.

Install

npm install node-polyfill-webpack-plugin

Usage

Add the following to your webpack.config.js:

const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');

module.exports = {
	// Other rules...
	plugins: [
		new NodePolyfillPlugin(),
	],
};

console, process, and most deprecated/internal Node.js core modules are not polyfilled by default. If you still need to polyfill them, you can use the additionalAliases option:

const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');

module.exports = {
	// Other rules...
	plugins: [
		new NodePolyfillPlugin({
			additionalAliases: ['process', 'punycode'],
		}),
	],
};

The fs module resolves to nothing because its functionality cannot replicated in the browser.

API

new NodePolyfillPlugin(options?)

options

Type: object

onlyAliases is mutually exclusive with excludeAliases and additionalAliases.

excludeAliases

If you don't want a module to be polyfilled, you can specify aliases to be skipped here.

const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');

module.exports = {
	// Other rules...
	plugins: [
		new NodePolyfillPlugin({
			excludeAliases: ['console'],
		}),
	],
};

additionalAliases

Alternatively, you can choose to add certain aliases to the list of polyfilled modules. For example, you can choose to polyfill console.

const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');

module.exports = {
	// Other rules...
	plugins: [
		new NodePolyfillPlugin({
			additionalAliases: ['console'],
		}),
	],
};

onlyAliases

You can also choose to only include certain aliases, ignoring the defaults. For example, you can have only console polyfilled.

const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');

module.exports = {
	// Other rules...
	plugins: [
		new NodePolyfillPlugin({
			onlyAliases: ['console'],
		}),
	],
};

Aliases

Globals

  • Buffer
  • console
  • process

Modules

  • assert
  • buffer
  • console
  • constants
  • crypto
  • domain
  • events
  • http
  • https
  • os
  • path
  • punycode
  • process
  • querystring
  • stream
  • _stream_duplex
  • _stream_passthrough
  • _stream_readable
  • _stream_transform
  • _stream_writable
  • string_decoder
  • sys
  • timers
  • tty
  • url
  • util
  • vm
  • zlib
版本列表
4.1.0 2024-12-04
4.0.0 2024-05-24
3.0.0 2023-12-06
2.0.1 2022-07-30
2.0.0 2022-06-24
1.1.4 2021-06-30
1.1.3 2021-06-15
1.1.2 2021-05-12
1.1.1 2021-05-05
1.1.0 2021-03-28
1.0.3 2021-02-24
1.0.2 2021-01-04
1.0.1 2021-01-04
1.0.0 2020-10-13