【问题标题】:doubts of "entry", "include" and "exclude" of webpackwebpack的“入口”、“包含”、“排除”的疑惑
【发布时间】:2016-10-14 13:45:31
【问题描述】:

在“webpack.config.js”中,如果我们需要使用加载器,通常我们会使用“include”和“exclude”来包含或排除一些文件。 这里的问题是为什么?

既然我们的“webpack.config.js”中已经有了“entry”,那么webpack会将所有相关文件递归地转换成一个目标文件“bundle.js”。加载器将转换相关文件。换句话说,加载器已经知道将要转换哪些文件。那为什么我们在每个 loader 中还需要“include”和“exclude”呢?

一个常规的 webpack.config.js 将包括:

var path = require('path');

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

以上面为例,为什么我们需要“exclude: /node_modules/”?

如果我不指定“包含”或“排除”,将包含什么样的“.js”文件? “包含”或“排除”是否递归工作?

谢谢

德里克

【问题讨论】:

    标签: webpack


    【解决方案1】:

    How "include" and "exclude" works in webpack loader

    简单地说,entry.js 将包含所有导入/需要的文件。但在这些文件中,只有少数需要转换。这就是“loader”引入“include”和“exclude”的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 2021-06-04
      • 1970-01-01
      相关资源
      最近更新 更多