知識儲備

Promise

 function fn(){
     return new Promise((resolve, reject)=>{
         成功時調(diào)用 resolve(數(shù)據(jù))
         失敗時調(diào)用 reject(錯誤)
     })
 }
 fn().then(success, fail).then(success2, fail2)

Promise.all

Promise.all([promise1, promise2]).then(success1, fail1)

promise1和promise2都成功才會調(diào)用success1

Promise.race

 Promise.race([promise1, promise2]).then(success1, fail1)

promise1和promise2只要有一個成功就會調(diào)用success1

手寫AJAX

完整版

var request = new XMLHttpRequest()
 request.open('GET', '/a/b/c?name=ff', true);
 request.onreadystatechange = function () {
   if(request.readyState === 4 && request.status === 200) {
     console.log(request.responseText);
   }};
 request.send();

簡化版

 var request = new XMLHttpRequest()
 request.open('GET', '/a/b/c?name=ff', true)
 request.onload = ()=> console.log(request.responseText)
 request.send()

this

fn()
this => window/global
obj.fn()
this => obj
fn.call(xx)
this => xx
fn.apply(xx)
this => xx
fn.bind(xx)
this => xx
new Fn()
this => 新的對象
fn = ()=> {}
this => 外面的 this

webpack

webpack是基于入口的。webpack會自動地遞歸解析入口所需要加載的所有資源文件,然后用不同的Loader來處理不同的文件,用Plugin來擴(kuò)展webpack功能。
目前接觸的打包工具有兩個:webpack和parcel。
webpack不好上手但功能強(qiáng)大適用于大型復(fù)雜的項目構(gòu)架。
parcel易上手適用于簡單的項目。

由于parcel在打包過程中給出的調(diào)試信息十分有限,所以一旦打包出錯難以調(diào)試,所以不建議復(fù)雜的項目使用parcel

loader和plugin

  • loader直譯為“加載器”。Webpack將一切文件視為模塊,但是webpack原生是只能解析js文件,如果想將其他文件也打包的話,就會用到loader。 所以Loader的作用是讓webpack擁有了加載和解析非JavaScript文件的能力
    loader在module.rules中配置。類型為數(shù)組,每一項都是一個Object,里面描述了對于什么類型的文件(test),使用什么加載(loader)和使用的參數(shù)(options)。
  • plugin直譯為"插件"。Plugin可以擴(kuò)展webpack的功能,讓webpack具有更多的靈活性。 在 Webpack 運行的生命周期中會廣播出許多事件,Plugin 可以監(jiān)聽這些事件,在合適的時機(jī)通過 Webpack 提供的 API 改變輸出結(jié)果。
    plugin在plugins中單獨配置。 類型為數(shù)組,每一項是一個plugin的實例,參數(shù)都通過構(gòu)造函數(shù)傳入。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • GitChat技術(shù)雜談 前言 本文較長,為了節(jié)省你的閱讀時間,在文前列寫作思路如下: 什么是 webpack,它要...
    蕭玄辭閱讀 12,887評論 7 110
  • webpack 是一個現(xiàn)代 JavaScript 應(yīng)用程序的靜態(tài)模塊打包器(module bundler)。 當(dāng) ...
    吳少在coding閱讀 722評論 2 5
  • 博客鏈接 http://blog.poetries.top/2018/11/21/webpack-review/ ...
    前端進(jìn)階之旅閱讀 1,460評論 0 11
  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 webpack介紹和使用 一、webpack介紹 1、由來 ...
    it筱竹閱讀 11,457評論 0 21
  • 有朋友問我,這樣的日子怎么過,我說春天去公園賞花是個不錯的選擇。朋友問該去哪個公園,我說可以去蠡園看桃花,也可以去...
    黯黯紅塵一路相伴閱讀 315評論 1 0

友情鏈接更多精彩內(nèi)容