相关疑难解决方法(0)

"包含"和"排除"如何在webpack加载器中工作

更新:答案:

我的误解是:

所有导入/必需的文件都将由loader转换.

但是,某些导入/必需的文件不需要转换.例如,已经处理了"node_module"中的js文件.因此,Babel装载机无需再次进行转换.这基本上就是我们在loader中需要"exclude:/ node_modules /"的原因.

同样,如果您知道要由加载器转换的文件,则可以使用"include".

简而言之,entry.js将包含所有导入/必需的文件.但在这些文件中,只有少数文件需要转换.这就是"装载机"引入"包括"和"排除"的原因.


我还不太清楚为什么我们需要在webpack的加载器中使用"include"或"exclude".

因为条目js文件总是需要递归地包含其导入/必需的js文件.所有导入/必需的文件都将由loader转换.如果是这种情况,为什么我们需要在装载机中"包含"或"排除"?

一个常见的情况是"exclude:/ node_modules /".令我困惑的是,如果条目js文件需要来自node_modules的一些文件,那么我们将排除node_modules.然后,最终的bundle文件将不包含node_modules中的requied文件.在这种情况下,最终的bundle.js将无法正常工作.我在这里错过了什么吗?

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']
        }
    }]
  }
}; 
Run Code Online (Sandbox Code Playgroud)

谢谢

德里克

webpack

32
推荐指数
3
解决办法
4万
查看次数

标签 统计

webpack ×1