Wie "Einschließen" und "Ausschließen" im Webpack Loader funktioniert

Update & Answer:

Mein Missverständnis war:

Alle importierten / benötigten Dateien werden vom Loader transformiert.

Einige importierte / erforderliche Dateien müssen jedoch nicht transformiert werden. Beispielsweise wurden js-Dateien in "node_module" verarbeitet. Es ist also nicht nötig, dass der Babel Loader ihn erneut transformiert. Aus diesem Grund benötigen wir im Loader "exclude: / node_modules /".

Wenn Sie wissen, welche Dateien von einem Loader transformiert werden sollen, können Sie "include" verwenden.

Simply put, entry.js enthält alle importierten / erforderlichen Dateien. Von diesen Dateien müssen jedoch nur einige transformiert werden. Deshalb führt "loader" "include" und "exclude" ein.

Ich bin mir immer noch nicht ganz sicher, warum wir "include" oder "exclude" im Ladeprogramm von webpack verwenden müssen.

Denn die js-Datei des Eintrags muss die importierten / erforderlichen js-Dateien immer rekursiv enthalten. Alle importierten / erforderlichen Dateien werden vom Loader transformiert. Wenn dies der Fall ist, warum müssen wir "einschließen" oder "ausschließen" in Loader?

in häufiger Fall ist "exclude: / node_modules /". Die Sache, die mich verwirrt, ist, dass wenn die Eintrags-js-Datei einige Dateien von den node_modules benötigt und wir dann die node_modules ausschließen. In diesem Fall enthält die endgültige Bundle-Datei nicht die von node_modules angeforderte Datei. In diesem Fall funktioniert die endgültige Datei bundle.js nicht richtig. Vermisse ich hier etwas?

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

Vielen Dan

Derek

Antworten auf die Frage(4)

Ihre Antwort auf die Frage