一、Loader
:
1、定義:
將不同類型的文件轉換為
webpack
可識別的模塊
2、分類:
① pre
: 前置 loader
(1)配置:
在
webpack
配置文件中通過enforce
進行指定loader
的優先級配置
(2)代碼示例:
module: {rules: [{enforce: "pre",test: /\.js$/,loader: "loader1",}]
}
② normal
: 普通 loader
默認值
③ inline
: 內聯 loader
(1)配置:
- 在每個
import
語句中顯式指定loader
- 多個
loader
之間用!
進行分隔 loader
后使用?
進行loader
參數的傳遞
(2)代碼示例:
import Styles from 'loader1!loader2?params!./styles.css';
(3)添加不同前綴,跳過其他類型 loader
:
a、!
跳過 normal loader
:
import Styles from '!loader1!loader2?params!./styles.css';
b、-!
跳過 pre
和 normal loader
:
import Styles from '-!loader1!loader2?params!./styles.css';
c、!!
跳過 pre
、 normal
和 post loader
:
import Styles from '!!loader1!loader2?params!./styles.css';
④ post
: 后置 loader
(1)配置:
在
webpack
配置文件中通過enforce
進行指定loader
的優先級配置
(2)代碼示例:
module: {rules: [{enforce: "post",test: /\.js$/,loader: "loader2",}]
}
3、執行順序: pre > normal > inline > post
相同優先級的
loader
執行順序為:從右到左,從下到上。