¿Qué significa "El generador de código ha desoptimizado el estilo de [algún archivo] ya que excede el máximo de" 100KB""?
He añadido un nuevo paquete npm a mi proyecto y lo requiero en uno de mis módulos.
Ahora recibo este mensaje 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é significa? ¿Necesito tomar alguna acción?
6 answers
Esto está relacionado con la opción compact
del compilador de Babel, que ordena a "no incluir caracteres de espacios en blanco superfluos y terminadores de línea. Cuando se establece en 'auto' compact se establece en true en tamaños de entrada de >100KB." Por defecto su valor es "auto", por lo que es probablemente la razón por la que está recibiendo el mensaje de advertencia. Ver Documentación de Babel .
Puede cambiar esta opción desde Webpack usando un parámetro de consulta . Por ejemplo:
loaders: [
{ test: /\.js$/, loader: 'babel', query: {compact: false} }
]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-23 19:36:48
Esto parece ser un error de Babel. Supongo que utiliza babel-loader, y no está excluyendo bibliotecas externas de su prueba de cargador. Por lo que puedo decir, el mensaje no es dañino, pero aún así deberías hacer algo como esto:
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel' }
]
Echa un vistazo. ¿Eso fue todo?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-24 18:10:52
Cualquiera de las siguientes tres opciones se deshace del mensaje (pero por diferentes razones y con diferentes efectos secundarios, supongo):
- excluir el directorio
node_modules
o explícitamenteinclude
el directorio donde reside su aplicación (que presumiblemente no contiene archivos en exceso de 100KB) - establece la opción Babel
compact
atrue
(en realidad cualquier valor que no sea "auto") - establezca la opción de Babel
compact
enfalse
(véase más arriba)
#1 en el la lista anterior se puede lograr excluyendo el directorio node_modules
o incluyendo explícitamente el directorio donde reside su aplicación.
Por ejemplo, en webpack.config.js
:
let path = require('path');
....
module: {
loaders: [
...
loader: 'babel',
exclude: path.resolve(__dirname, 'node_modules/')
... o usando include: path.resolve(__dirname, 'app/')
(de nuevo en webpack.config.js
).
#2 y #3 en la lista anterior se pueden lograr por el método sugerido en esta respuesta o (mi preferencia) editando el archivo .babelrc
. Por ejemplo:
$ cat .babelrc
{
"presets": ["es2015", "react"],
"compact" : true
}
Probado con la siguiente configuración:
$ npm ls --depth 0 | grep babel
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:55:07
Probé a la manera de Ricardo Stuven, pero no funcionó para mí. Lo que funcionó al final fue agregar "compacto": falso a mi .archivo babelrc:
{
"compact": false,
"presets": ["latest", "react", "stage-0"]
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-09 10:19:39
En react/redux/webpack/babel build se solucionó este error al eliminar el tipo de etiqueta de script text/babel
Error conseguido:
<script type="text/babel" src="/js/bundle.js"></script>
No hay error:
<script src="/js/bundle.js"></script>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-25 20:22:55
Para más explicaciones lea THIS LINK
, es una opción de Babel compiler
que los comandos a no incluyen caracteres de espacio en blanco superfluos y terminadores de línea. hace algunas veces su umbral era 100KB
pero ahora es 500KB
.
Le propongo desactivar esta opción en su entorno de desarrollo, con este código en el archivo .babelrc
.
{
"env": {
"development" : {
"compact": false
}
}
}
Para el entorno de producción Babel
use la configuración predeterminada que es auto
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-17 11:33:11