最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript loader原理簡單總結(jié)示例解析

 更新時(shí)間:2023年08月25日 11:22:44   作者:loong  
這篇文章主要為大家介紹了JavaScript loader原理簡單總結(jié)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

loader

  • loader 其實(shí)就是一個(gè)函數(shù),會返回處理文件的結(jié)果
  • 當(dāng)webpack解析資源時(shí),會調(diào)用相應(yīng)的loader 去處理 (從下往上,從右往左的順序調(diào)用)
// context 文件內(nèi)容
// map SourceMap (傳入SourceMap傳入的相關(guān)數(shù)據(jù))
// meta 其他loader 傳的參數(shù)
module.exports = function (context,map,meta){
    console.log(context
    return context
}

同步loader

  • 如果在同步loader中添加異步代碼 程序會報(bào)錯(cuò) The callback was already called( 已調(diào)用回調(diào) )再次調(diào)用 就會報(bào)錯(cuò)
// 第一種
module.exports = function (context,map,meta){
    console.log(context)
    return context
}
// 第二種  (如有下一個(gè)loader 需要處理可以采用這種)
module.exports = function (context,map,meta){
    // 一個(gè)參數(shù)  如果有錯(cuò)誤信息,就傳錯(cuò)誤信息  如果沒有  就是null
    // context 文件內(nèi)容
    // map SourceMap (傳入SourceMap傳入的相關(guān)數(shù)據(jù)) 繼續(xù)傳遞 SourceMap
    // meta 其他loader 傳的參數(shù)
    this.call(null, context, map, meta)
}

異步loader

module.exports = function (context,map,meta){
    const callback = this.async()
    setTimeout(()=>{
        callback(null, context, map, meta)    
    }, 1000)
}

raw Loader

  • raw loader接收的context 是 Buffer 數(shù)據(jù) (二進(jìn)制數(shù)據(jù))
  • 同步loader 和 異步loader 都可以
  • 需要 配置 module.exports.raw = true
module.exports = function loader(context,map,meta){
    console.log(context)
    return context
}
module.exports.raw = true

pitch Loader

  • pitch loader 中可以是異步loader 和 同步loader
  • 需要暴露一個(gè) pitch方法
  • 當(dāng)在 use 中設(shè)置多個(gè)loader時(shí), 執(zhí)行順序是 先執(zhí)行 pitch loader pitch loader 執(zhí)行完了會再執(zhí)行普通loader
module.exports = function loader(context,map,meta){
    console.log(context)
    return context
}
module.exports.pitch = function (){
    console.log(pitch)
}

以上就是JavaScript loader原理簡單總結(jié)示例解析的詳細(xì)內(nèi)容,更多關(guān)于JavaScript loader原理總結(jié)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JS面試之異步模擬超時(shí)重傳機(jī)制詳解

    JS面試之異步模擬超時(shí)重傳機(jī)制詳解

    這篇文章主要為大家介紹了JS面試之異步模擬超時(shí)重傳機(jī)制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 微信小程序 在Chrome瀏覽器上運(yùn)行以及WebStorm的使用

    微信小程序 在Chrome瀏覽器上運(yùn)行以及WebStorm的使用

    這篇文章主要介紹了微信小程序 在Chrome瀏覽器上運(yùn)行以及WebStorm的使用的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • JS數(shù)組去重詳情

    JS數(shù)組去重詳情

    這篇文章主要介紹JS數(shù)組去重,關(guān)于去重實(shí)際應(yīng)用中,最常用的方法就是使用Set,也可以使用第三方庫lodash來處理,下面一起來看看文章是怎么介紹JS數(shù)組去重的
    2021-11-11
  • package.json依賴環(huán)境相關(guān)屬性詳解

    package.json依賴環(huán)境相關(guān)屬性詳解

    這篇文章主要為大家介紹了package.json依賴環(huán)境相關(guān)屬性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 微信小程序(十九)radio組件詳細(xì)介紹

    微信小程序(十九)radio組件詳細(xì)介紹

    這篇文章主要介紹了微信小程序radio組件詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Google 地圖API Map()構(gòu)造器詳解

    Google 地圖API Map()構(gòu)造器詳解

    本文主要介紹Google 地圖API Map(),這里對Map()構(gòu)造器的知識做了一下整理以及提供簡單的代碼示例,開發(fā)Google 地圖應(yīng)用的朋友可以參考下
    2016-08-08
  • 微信小程序 常見問題總結(jié)(4058,40013)及解決辦法

    微信小程序 常見問題總結(jié)(4058,40013)及解決辦法

    這篇文章主要介紹了微信小程序 常見問題總結(jié)及解決辦法的相關(guān)資料,這里首先對微信小程序的結(jié)構(gòu)進(jìn)行了介紹,然后對常見問題進(jìn)行說明講解,需要的朋友可以參考下
    2017-01-01
  • JavaScript?API?ResizeObserver使用示例

    JavaScript?API?ResizeObserver使用示例

    這篇文章主要為大家介紹了JavaScript?API?ResizeObserver的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 微信小程序 location API實(shí)例詳解

    微信小程序 location API實(shí)例詳解

    這篇文章主要介紹了微信小程序 location API實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 淺談JavaScript作用域

    淺談JavaScript作用域

    這篇文章主要介紹了JavaScript作用域詳情,作用域的使用提高了程序邏輯的局部性,增強(qiáng)了程序的可靠性,減少了名字沖突,下面文章我們一起來了解更多的詳細(xì)內(nèi)容,需要的小伙伴也可以參考一下
    2021-12-12

最新評論

日照市| 广昌县| 伊川县| 科技| 亳州市| 凌海市| 钟祥市| 孝感市| 开江县| 托克逊县| 灯塔市| 东平县| 鹤壁市| 白城市| 磐石市| 临安市| 大石桥市| 郸城县| 青岛市| 南宁市| 新邵县| 白山市| 油尖旺区| 图片| 中江县| 桐庐县| 安塞县| 河曲县| 古蔺县| 海城市| 陇川县| 定远县| 玉龙| 平泉县| 武胜县| 巢湖市| 苗栗县| 浦江县| 玉溪市| 天镇县| 边坝县|