麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

JavaScript的Requi_reJS庫入門指南

2019-11-02 14:33:11
字體:
供稿:網(wǎng)友

   這篇文章主要介紹了JavaScript的RequireJS庫入門指南,RequireJS庫的人氣近來攀升很快,需要的朋友可以參考下

  簡介

  如今最常用的JavaScript庫之一是RequireJS。最近我參與的每個項(xiàng)目,都用到了RequireJS,或者是我向它們推薦了增加RequireJS。在這篇文章中,我將描述RequireJS是什么,以及它的一些基礎(chǔ)場景。

  異步模塊定義(AMD)

  談起RequireJS,你無法繞過提及JavaScript模塊是什么,以及AMD是什么。

  JavaScript模塊只是遵循SRP(Single Responsibility Principle單一職責(zé)原則)的代碼段,它暴露了一個公開的API。在現(xiàn)今JavaScript開發(fā)中,你可以在模塊中封裝許多功能,而且在大多數(shù)項(xiàng)目中,每個模塊都有其自己的文件。這使得JavaScript開發(fā)者日子有點(diǎn)難過,因?yàn)樗鼈冃枰掷m(xù)不斷的關(guān)注模塊之間的依賴性,按照一個特定的順序加載這些模塊,否則運(yùn)行時將會放生錯誤。

  當(dāng)你要加載JavaScript模塊時,就會使用script標(biāo)簽。為了加載依賴的模塊,你就要先加載被依賴的,之后再加載依賴的。使用script標(biāo)簽時,你需要按照此特定順序安排它們的加載,而且腳本的加載是同步的。可以使用async和defer關(guān)鍵字使得加載異步,但可能因此在加載過程中丟失加載的順序。另一個選擇是將所有的腳本捆綁打包在一起,但在捆綁的時候你仍然需要把它們按照正確的順序排序。

  AMD就是這樣一種對模塊的定義,使模塊和它的依賴可以被異步的加載,但又按照正確的順序。

201571114812111.png (398×342)

  CommonJS, 是對通用的JavaScript模式的標(biāo)準(zhǔn)化嘗試,它包含有 AMD 定義 ,我建議你在繼續(xù)本文之前先讀一下。在ECMAScript 6這個下一版本JavaScript 規(guī)范中,有關(guān)于輸出,輸入以及模塊的規(guī)范定義,這些將成為JavaScript語言的一部分,而且這不會太久。這也是關(guān)于RequireJS我們想說的東西。

  RequireJS?

  RequireJS是一個Javascript 文件和模塊框架,可以從 http://requirejs.org/下載,如果你使用Visual Studio也可以通過Nuget獲取。它支持瀏覽器和像node.js之類的服務(wù)器環(huán)境。使用RequireJS,你可以順序讀取僅需要相關(guān)依賴模塊。

  RequireJS所做的是,在你使用script標(biāo)簽加載你所定義的依賴時,將這些依賴通過head.appendChild()函數(shù)來加載他們。當(dāng)依賴加載以后,RequireJS計算出模塊定義的順序,并按正確的順序進(jìn)行調(diào)用。這意味著你需要做的僅僅是使用一個“根”來讀取你需要的所有功能,然后剩下的事情只需要交給RequireJS就行了。為了正確的使用這些功能,你定義的所有模塊都需要使用RequireJS的API,否者它不會像期望的那樣工作。

  RequireJS API 存在于RequireJS載入時創(chuàng)建的命名空間requirejs下。其主要API主要是下面三個函數(shù):

  define– 該函數(shù)用戶創(chuàng)建模塊。每個模塊擁有一個唯一的模塊ID,它被用于RequireJS的運(yùn)行時函數(shù),define函數(shù)是一個全局函數(shù),不需要使用requirejs命名空間.

  require– 該函數(shù)用于讀取依賴。同樣它是一個全局函數(shù),不需要使用requirejs命名空間.

  config– 該函數(shù)用于配置RequireJS.

  在后面,我們將教你如果使用這些函數(shù),但首先讓我們先了解下RequireJS的加載流程。

  data-main屬性

  當(dāng)你下載RequireJS之后

有內(nèi)涵網(wǎng)名[www.la240.com/html2017/1/38/]
,你要做的第一件事情就是理解RequireJS是怎么開始工作的。當(dāng)RequireJS被加載的時候,它會使用data-main屬性去搜尋一個腳本文件(它應(yīng)該是與使用src加載RequireJS是相同的腳本)。data-main需要給所有的腳本文件設(shè)置一個根路徑。根據(jù)這個根路徑,RequireJS將會去加載所有相關(guān)的模塊。下面的腳本是一個使用data-main例子:
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: jizzyouxxxx | 露脸各种姿势啪啪的清纯美女 | 成人综合免费视频 | 久久精品欧美一区二区三区不卡 | 国产88久久久国产精品免费二区 | 亚洲一区二区成人 | 黄色片在线免费播放 | 亚洲一区二区不卡视频 | 日韩欧美电影一区二区三区 | 一区二区三高清 | 成人国产视频在线观看 | 日美黄色片 | 久久精品欧美一区二区 | 91久久精品一二三区 | 久久毛片免费 | 91成人免费版 | 在线观看麻豆 | 久久免费看片 | 欧美成人精品欧美一级乱黄 | 欧美18一19sex性护士农村 | 久久精品一二三区 | 日日操夜夜透 | 99视频有精品 | 国产精品亚洲精品久久 | 国产精品久久亚洲 | 55夜色66夜色国产精品视频 | 91网址在线观看 | 国产99免费 | 禁漫天堂久久久久久久久久 | 国产精品久久久久久久久久久久久久久久 | 久久久99精品视频 | 天天色图片 | 久久国产91 | free korean xxxxhd | 国产v综合v亚洲欧美久久 | 精品欧美一区二区精品久久 | 福利在线免费视频 | 红杏网站永久免费视频入口 | 亚洲视频在线观看免费视频 | 一级啪啪片 | 一本一道久久久a久久久精品91 |