1. 程式人生 > >webpack3.0之loader配置及編寫(一)

webpack3.0之loader配置及編寫(一)

post 數組 引入 lan 類型 pan nbsp 配置 圖像

loader 用於對模塊的源代碼進行轉換。loader 可以使你在 import 或"加載"模塊時預處理文件。loader 可以將文件從不同的語言(如 TypeScript)轉換為 JavaScript,或將內聯圖像轉換為 data URL。loader 甚至允許你直接在 JavaScript 模塊中 import CSS文件!

在深入學習對loader的編寫之前,我們先熟悉下loader的常見配置規則。常見的有兩種配置規則:

規則1:

loader配置中options的值可以在loader執行過程中獲取到,進行相應處理,也可以直接在loader路徑中添加query參數如下配置:

rules: [
   {

      test: 
/\.text$/, loader: ‘text-loader?name=1‘//如果配置了options選項時,在路徑中添加的query參數就無法獲取到了 } ]

你還可以使用 resolveLoader.modules 配置,webpack 將會從這些目錄中搜索這些 loaders。例如,如果你的項目中有一個 /loaders 本地目錄,目錄中有一個loader文件名為text-loader.js,那麽可以這樣配置:

resolveLoader: {
  modules: [
    ‘node_modules‘,
    path.resolve(__dirname, ‘loaders‘)
  ]
},
module: {
    rules: [

        {

          test: 
/\.text$/, loader: ‘text-loader‘//如果node_modules目錄中不存在,那麽會取loaders目錄中查找 } ] }

如果你想對某一類型的文件匹配多個loader,可以按照下列規則配置,多個loader模塊用!分割,並且實際loader執行順序是從右往左

{
test: /\.scss$/,
loader:‘style-loader!css-loader!sass-loader‘
}

規則2:

如果想匹配多個loader,還可以使用use配置數組,實際loader執行順序是從下往上

{
  test: /\.scss$/,
  use:[
    {
      loader:
‘style-loader‘, options:{} }, {     loader:‘css-loader‘    }, {     loader:‘sass-loader‘    } ] }

如果對於引入的loader不做格外的配置,那麽可以在use數組中添加loader名即可:

{
  test: /\.scss$/,
  use:[‘style-loader‘,‘css-loader‘,‘sass-loader‘]
}

在熟悉了對loader的基本配置規則之後,那麽我們就開始學習如何編寫自己的loader吧

webpack3.0加載器loader配置及編寫(二)

webpack3.0之loader配置及編寫(一)