Babel 忽略与排除选项

kus*_*lvm 5 babeljs

即使在阅读了他们的文档之后,我也没有明白黑白 babel排除忽略选项的区别。

我的理解是,它exclude的攻击性比ignore. 并使exclude当前配置对象处于非活动状态并ignore停止处理。

也许如果 babel 团队的某个人(或任何 babel 专家)能够为公众提供良好的服务,我们将不胜感激。

log*_*yth 4

我的理解是,排除不如忽略那么激进。排除使当前配置对象处于非活动状态,而忽略则停止处理。

这基本上是准确的。

当一个文件被ignore编辑时,Babel 将完全跳过处理它,这使得它有利于排除不是 JS 的文件,或者你明确知道不应该处理的文件,比如已经捆绑的大文件。

exclude键会跳过将给定配置块应用于给定文件。这主要与该overrides选项一起有用,允许您执行以下操作:

presets: ["@babel/preset-env"],
overrides: [
  {
    exclude: /node_modules/,
    plugins: ["babel-plugin-lodash"],
  },
],
Run Code Online (Sandbox Code Playgroud)

例如,如果您想使用 来编译所有文件preset-env,但只使用 来处理本地应用程序文件babel-plugin-lodash