Tengo una configuración de Babel, que (aproximadamente) se parece a lo siguiente:
module.exports = function () { return { presets: [ [ require.resolve('@babel/preset-env'), { /* options */ }, ] ], plugins: [ /* misc plugins */ ], } }Esto está muy bien, y funciona muy bien cuando se usa solo.
Sin embargo, lo que me gustaría hacer es poder usar esto como un ajuste preestablecido y agregar complementos o ajustes preestablecidos adicionales en la parte superior. Por ejemplo:
.babelrc
{ presets: ['my-preset'], plugins: [ /* additional plugins */ ], } El problema con el que me encuentro es que babel-loader aparentemente no resuelve estos ajustes preestablecidos "anidados". La sintaxis que debería ser transformada por @babel/preset-env ya no lo hace, lo que me lleva a creer que nunca se usa, aunque debería incluirse de forma transitiva.
Si la falta de require.resolve en .babelrc parece preocupante, mi configuración de Webpack maneja esto automáticamente. Usando ese .babelrc , mis opciones de cargador de Babel se ven así:
{ presets: [ '/home/user/Projects/project/node_modules/my-preset/index.js' ] } De acuerdo con los documentos de Babel, los ajustes preestablecidos absolutamente pueden incluir otros ajustes preestablecidos , por lo que no estoy seguro de cuál es el problema aquí, o incluso cómo depurar. Un console.log en mi configuración de babel antes de que el retorno aparezca en los registros de compilación, por lo que se carga hasta cierto punto, pero no entiendo por qué @babel/preset-env no funciona.
Usando Webpack v4.38.0, babel-loader v8.2.2