首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“Webpack”中的排除选项与切入点

“Webpack”中的排除选项与切入点
EN

Stack Overflow用户
提问于 2017-04-30 00:48:49
回答 1查看 1K关注 0票数 0

如果你在Webpack中有一个入口点,这不意味着Webpack只会打包和转换在那个入口点或required中的文件吗?这将自动否定或排除该入口点文件不是required的文件,对吗?为什么您仍然需要在加载程序配置中为node_modules中的文件提供一个排除选项?那不是required在你的入口点,所以我想webpack会完全忽略那些文件,还是有什么魔法我错过了?如果您没有排除选项,加载器会自动尝试转换项目中的所有文件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-30 14:35:03

规则不包括任何文件,但它们将加载程序应用于满足条件的任何导入模块。规则上的exclude选项仅决定加载程序是否应该处理已经导入的文件。

node_modules通常被排除在.js规则之外,因为通常没有理由对它们进行转换,因为大多数包在发布之前已经被转移了。必须处理正在使用的整个node_modules,将增加构建时间相当大,即使它只是一个加载程序,至少它必须解析模块并返回一个有效的模块,这已经需要一些时间了。

excludeinclude选项还有其他用途。例如,您可以决定在您的项目中使用CSS模块,但是您有一些第三方库,它依赖于具有常规(全局) CSS,并且很难更改使用CSS的代码。您可以定义以下规则:

代码语言:javascript
复制
{
  // For all .css files except the ones in 3rd-party-lib
  test: /\.css$/,
  exclude: /3rd-party-lib/,
  use: [
    'style-loader',
    { loader: 'css-loader', options: { modules: true } }
  ]
},
{
  // For all .css files in 3rd-party-lib
  test: /\.css$/,
  include: /3rd-party-lib/,
  use: ['style-loader', 'css-loader']
}

这可以是任何东西,从改变一个选项到使用完全不同的一组加载器,即使文件类型可能是相同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43701840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档