我见过一些 loader 查询,例如 require('-!some-loader!file.ext')
,但是在文档中没有找到任何关于 -!
的参考。我也见过一些以 !!
开头的查询。它们的含义是什么,文档在哪里?
我见过一些 loader 查询,例如 require('-!some-loader!file.ext')
,但是在文档中没有找到任何关于 -!
的参考。我也见过一些以 !!
开头的查询。它们的含义是什么,文档在哪里?
不应使用类似于require('some-loader!file.ext')
和以!
为前缀的内联加载器,因为它们是非标准的。
但是,它们可能会被由加载器生成的代码使用。
简而言之,这些前缀有三种类型。它们用于覆盖默认的加载器顺序配置,以适应在需要引入或导入某些文件时出现的特殊情况。
假设你不想让配置文件中存在的加载器计算某个文件,那么你可以在加载器之前使用单个!
。请注意,!
也用于分隔加载器。
如果恰好已经配置了预加载器和/或后加载器,那么您可以通过在前面加上!!
来禁用所有加载器,或者通过-!
来禁用除后加载器外的所有内容。
正如它们的名称所示,预加载器和后加载器定义了使用加载器的顺序。通过在配置文件中使用enforce: "pre"
或enforce: "post"
来定义这些文件。
再次引用自Webpack文档:
- 以!为前缀将禁用所有已配置的普通加载器
import Styles from '!style-loader!css-loader?modules!./styles.css';
- 以!!为前缀将禁用所有已配置的加载器(preLoaders,loaders,postLoaders)
import Styles from '!!style-loader!css-loader?modules!./styles.css';
- 以-!为前缀将禁用所有已配置的preLoaders和loaders,但不包括postLoaders
import Styles from '-!style-loader!css-loader?modules!./styles.css';