webpack3.0之loader配置及編寫(一)
阿新 • • 發佈:2018-02-05
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配置及編寫(一)