J'ai ajouté un nouveau package npm à mon projet et l'exige dans l'un de mes modules.
Maintenant, je reçois ce message de webpack,
build modulesNote: The code generator has deoptimised the styling of "D:/path/to/project/node_modules/ramda/dist/ramda.js" as it exceeds the max of "100KB".
Qu'est-ce que ça veut dire? Dois-je prendre des mesures?
Ceci est lié à l'option compact
du compilateur Babel, qui commande à "n'inclut pas les caractères d'espacement superflus ni les fins de ligne. Lorsque cette option est définie sur" auto ", compact est défini sur true lorsque la taille d'entrée est> 100 Ko." Par défaut sa valeur est "auto", c'est probablement la raison pour laquelle vous recevez le message d'avertissement. Voir Documentation Babel .
Vous pouvez modifier cette option à partir de Webpack à l’aide du paramètre query . Par exemple:
loaders: [
{ test: /\.js$/, loader: 'babel', query: {compact: false} }
]
Cela semble être une erreur Babel . Je suppose que vous utilisez babel-loader et n'excluez pas les bibliothèques externes de votre test de chargeur. Autant que je sache, le message n'est pas dangereux, mais vous devriez quand même faire quelque chose comme ça:
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel' }
]
Regarde. Était-ce ça?
J'ai essayé la manière de Ricardo Stuven mais ça n'a pas fonctionné pour moi. Ce qui a finalement fonctionné a été d’ajouter "compact": false à mon fichier .babelrc:
{
"compact": false,
"presets": ["latest", "react", "stage-0"]
}
Pour plus d'explications, lisez THIS LINK
, l'option Babel compiler
permet de commander n'inclut pas les caractères d'espacement superflus ni les fins de ligne. Il y a quelques temps, son seuil était 100KB
mais il est maintenant 500KB
.
Je vous propose de désactiver cette option dans votre environnement de développement, avec ce code dans le fichier .babelrc
.
{
"env": {
"development" : {
"compact": false
}
}
}
Pour l’environnement de production Babel
, utilisez la configuration par défaut auto
.
Dans react/redux/webpack/babel build corrige cette erreur en supprimant le type de balise de script text/babel
a eu une erreur:
<script type="text/babel" src="/js/bundle.js"></script>
pas d'erreur:
<script src="/js/bundle.js"></script>
cette guerre m'est arrivée et a finalement obtenu une ERREUR FATALE: MarkCompactCollector: copie semi-espace, repli dans l'ancienne génération Échec de l'allocation - Mémoire JavaScript insuffisante . La raison en est que j'ai importé dynamiquement le module current. , donc cela a abouti à une boucle sans fin ...
dans Webpack 4 avec plusieurs règles de module, vous feriez juste quelque chose comme ceci dans votre règle .js:
{
test: /\.(js)$/,
loader: 'babel-loader',
options: {
presets: ['es2015'], // or whatever
plugins: [require('babel-plugin-transform-class-properties')], // or whatever
compact: true // or false during development
}
},