Webpack 5 ne fait plus d'auto-polyfilling pour les modules node core. Comment corriger cela s'il vous plaît ? PS : Je suis un débutant en développement donc la solution doit être bien décrite pour moi.
Réponses
Trop de publicités?J'ai également obtenu ces erreurs lors de la mise à jour de webpack v4 à v5. Résolu par
ajout de la propriété resolve.fallback
propriété du nœud supprimé
{
resolve: {
modules: [...],
fallback: {
"fs": false,
"tls": false,
"net": false,
"path": false,
"zlib": false,
"http": false,
"https": false,
"stream": false,
"crypto": false,
"crypto-browserify": require.resolve('crypto-browserify'), //if you want to use this module also don't forget npm i crypto-browserify
}
},
entry: [...],
output: {...},
module: {
rules: [...]
},
plugins: [...],
optimization: {
minimizer: [...],
},
// node: {
// fs: 'empty',
// net: 'empty',
// tls: 'empty'
// },
}
passer de la v4 à la v5 => https://webpack.js.org/migrate/5/#clean-up-configuration
Support Readd pour les modules de base de Node.js avec node-polyfill-webpack-plugin
:
Une fois le paquet installé, ajoutez ce qui suit à votre webpack.config.js :
const NodePolyfillPlugin = require("node-polyfill-webpack-plugin")
module.exports = {
// Other rules...
plugins: [
new NodePolyfillPlugin()
]
}
Je pense que la plupart des réponses apportées ici résoudront votre problème. Cependant, si vous n'avez pas besoin de Polyfills pour votre développement node, alors je vous suggère d'utiliser target: 'node'
dans la configuration de votre module Webpack. Cela m'a permis de résoudre le problème.
Voici une documentation sur la réponse : https://webpack.js.org/concepts/targets/
Il semble que vous ayez utilisé la fonction path
qui n'est pas inclus par défaut dans les constructions de webpack. Pour moi, l'extension de la configuration de webpack comme ceci a aidé :
{
// rest of the webpack config
resolve: {
// ... rest of the resolve config
fallback: {
"path": require.resolve("path-browserify")
}
},
}
Installez également path-browserify
via npm install path-browserify --save-dev
o yarn add path-browserify --dev
si vous utilisez du fil.
- Réponses précédentes
- Plus de réponses