什么 - !在webpack加载器字符串中的意思?

时间:2017-12-17 22:16:06

标签: webpack

我见过一些加载程序查询,例如require('-!some-loader!file.ext'),但未能在文档中找到对-!的任何引用。我还看到了一些以!!开头的人。他们的意思是什么?他们在哪里记录?

1 个答案:

答案 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';