webpack loaders中的include/exclude有什么用?

在看webpack配置文件时候,其中loaders下,有时候配置include和exclude,这两个参数有什么用呢?如果不配置会有什么影响?

比如我经常看到有写exclude: /node_modules/的,这么做的目的何在?

{
    module: {
        loaders: [{
            test: /\.js$/,
            loader: 'babel-loader',
            include: [
                path.resolve(__dirname, "app/src"),
                path.resolve(__dirname, "app/test")
            ],
            exclude: /node_modules/
        }]
    }
}
回复
阅读 53.1k
5 个回答

首先,不配置这两个属性你引入的模块还是会被打包。
但是,很多第三方模块是不需要再被处理的,比如jQuery,不需要再被babel处理,因为jQuery已经是es5,浏览器直接可以识别。这个时候,你不设置exclude,jQuery就会被处理,这样就增加了打包时间。
所以,设置好exclude和include可以优化打包时间。

打包的时候除掉/node_modules/下.js文件

webpack 中所有的loader 都可以拥有include和exclude属性。
exclude:排除不满足条件的文件夹(这样可以排除webpack查找不必要的文件)
include:需要被loader 处理的文件或文件夹

详情参考:https://github.com/webpack/do...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏