Polyfill Node.js core modules in Webpack.
npm install node-polyfill-webpack-pluginsh
npm install node-polyfill-webpack-plugin
`
Usage
Add the following to your webpack.config.js:
`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:
`js
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
$3
#### 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.
`js
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.
`js
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.
`js
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');
module.exports = {
// Other rules...
plugins: [
new NodePolyfillPlugin({
onlyAliases: ['console'],
}),
],
};
`
Aliases
$3
- Buffer
- console
- process
$3
- 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`