我见过一些加载程序查询,例如require('-!some-loader!file.ext')
,但未能在文档中找到对-!
的任何引用。我还看到了一些以!!
开头的人。他们的意思是什么?他们在哪里记录?
答案 0 :(得分:3)
不应使用require('some-loader!file.ext')
和!
类型前缀等内联加载器,因为它们是非标准的。
但是,它们可能被加载器生成的代码使用。
简而言之,这些前缀有三种类型。它们用于覆盖默认的加载程序顺序配置,以适应需要或导入某些文件时的特殊情况。
假设您不希望配置文件中存在的加载器评估某个文件,那么您可以在加载器之前使用单个!
。请注意,!
也用于分隔加载器。
如果您偶然配置了预加载器和/或发布加载器,则可以通过在!!
前加上禁用所有加载器来禁用这些加载项,或者-!
禁用除加载程序之外的所有内容。
正如其名称所示,前置和后置加载器定义了加载器的使用顺序。使用enforce: "pre"
或enforce: "post"
再一次,但引自webpack docs:
- 前缀!将禁用所有已配置的普通加载器
import Styles from '!style-loader!css-loader?modules!./styles.css';
- 前缀!!将禁用所有已配置的加载器(preLoaders,loaders,postLoaders)
import Styles from '!!style-loader!css-loader?modules!./styles.css';
- 前缀 - - !将禁用所有已配置的预加载器和加载器,但不会 postLoaders
import Styles from '-!style-loader!css-loader?modules!./styles.css';