Cómo funciona "incluir" y "excluir" en el cargador de paquetes web
Mi malentendido fue:
Todos los archivos importados / requeridos serán transformados por el cargador.
Sin embargo, algunos archivos importados / requeridos no son necesarios para ser transformados. Por ejemplo, se han procesado archivos js en "node_module". Por lo tanto, no hay necesidad de ser transformado nuevamente por el cargador Babel. Eso es básicamente por qué necesitamos "excluir: / node_modules /" en el cargador.
Del mismo modo, si sabe qué archivos debe transformar un cargador, puede usar "incluir".
En pocas palabras, entry.js incluirá todos los archivos importados / requeridos. Pero entre estos archivos, solo algunos de ellos necesitan ser transformados. Es por eso que "cargador" introduce "incluir" y "excluir".
Todavía no tengo muy claras las razones por las que necesitamos usar "incluir" o "excluir" en el cargador de paquetes web.
Debido a que el archivo js de entrada siempre tendrá que incluir sus archivos js importados / requeridos de forma recursiva. Todos los archivos importados / requeridos serán transformados por el cargador. Si ese es el caso, ¿por qué necesitamos "incluir" o "excluir" en el cargador?
Un caso común es "excluir: / node_modules /". Lo que me confunde es que si el archivo js de entrada necesita algunos archivos de node_modules y luego excluimos los node_modules. Entonces, el archivo de paquete final no contendrá el archivo requerido de node_modules. En ese caso, el paquete final.js no funcionará correctamente. ¿Me estoy perdiendo algo aquí?
module.exports = {
entry: [
'./index.js'
],
output: {
path: path.join(__dirname,"public"),
filename: 'bundle.js'
},
module: {
loaders: [{
test: /\.js$/,
loader: 'babel',
exclude: /node_modules/,
query: {
presets: ['es2015']
}
}]
}
};
Gracias
Derek