webpack - presetname - Cómo configurar la resolución para los presets del cargador de babel
babel-loader (3)
Estoy tratando de hacer un paquete con webpack. Tengo una dependencia un poco compleja: algunos componentes requieren otros que se encuentran en alguna carpeta /home/.../
.
Componente ( /home/.../far-away-components/base-component.js
file):
import {base_component} from "base-component";
exports class MyComponent extends base_component {
...
}
webpack.config.js
:
var path = require("path");
module.exports = {
...
module: {
loaders: [
{
test: //.(js)$/,
loader: "babel",
query: {
presets: [''react'', ''es2015'', "stage-0"]
}
}
]
},
resolve: {
alias: {
"base-component": "/home/.../far-away-components/base-component.js"
}
};
El problema es que la carpeta de far-away-components
no contiene node_modules
y recibo un error: Couldn''t find preset "react" relative to directory "/home/.../far-away-components"
.
¿Cómo puedo configurar la resolve
para babel-loader
presets del babel-loader
de babel-loader
?
@mqklin: Necesitaba esta solución temporal utilizando ".map (require.resolve)", porque no excluyó / node_modules / en sus cargadores. El siguiente formato debería funcionar:
loaders: [
{
test: [//.js$/, //.es6$/],
exclude: /node_modules/,
loader: ''babel-loader'',
query: {
cacheDirectory: true,
presets: [''react'', ''es2015''],
}
}
]
Que tal correr
npm init
en la carpeta /home/.../far-away-components, y luego use npm para instalar lo que necesita.
Solución de problema github :
query: {
presets: [
''babel-preset-es2015'',
''babel-preset-react'',
''babel-preset-stage-0'',
].map(require.resolve),
}