Comment fonctionne "include" et "exclude" dans le chargeur Webpack

Mise à jour&Réponse:

Mon méprendre était:

Tous les importées/fichiers nécessaires seront transformés par chargeur.

Cependant, certains importés/fichiers requis ne sont pas nécessaires pour être transformé. Par exemple, fichiers js dans le "node_module" ont été traitées. Donc, il n'y a pas besoin d'être transformé à nouveau en Babel chargeur. C'est essentiellement pourquoi nous avons besoin de "exclure: /node_modules/" dans le chargeur.

De même, si vous savez quels sont les fichiers à être transformé par un chargeur, vous pouvez utiliser le bouton "inclure".

Tout simplement, entry.js comprendra tous les importées/fichiers requis. Mais parmi ces fichiers, seuls quelques-uns d'entre eux ont besoin d'être transformé. C'est pourquoi le "loader" introduit "inclure" et "exclure".


Je ne suis pas encore tout à fait claire sur les raisons pour lesquelles nous avons besoin d'utiliser un "include" ou "exclure" dans le chargeur de webpack.

Car l'entrée fichier js aura toujours besoin d'inclure ses importés/js fichiers de manière récursive. Tous les importées/fichiers nécessaires seront transformés par chargeur. Si c'est le cas, pourquoi avons-nous besoin de "comprendre" ou "exclure" dans le chargeur?

Un cas courant est "exclure: /node_modules/". La chose qui me confond, c'est que si l'entrée fichier js besoin de certains fichiers de la node_modules et puis on exclut les node_modules. Puis le dernier bundle fichier ne contiendra pas le pris de fichier de node_modules. Dans ce cas, la finale bundle.js ne fonctionnera pas correctement. Ai-je raté quelque chose ici?

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']
        }
    }]
  }
}; 

Grâce

Derek

source d'informationauteur derek