您現在的位置是:電腦技術吧?>? 組裝維修 ??>??SciPy入門指南,grails 入門指南??>??正文詳情

SciPy入門指南,grails 入門指南

微生康泰2019-12-16 15:02:07 人圍觀
簡介php入門指南本文主要介紹JavaScript的requirejs庫的介紹指南。近年來,requirejs庫的普及程度迅速提高。您可以參考目前最常用的JavaScript庫之明日之后新手入門指南

這篇文章主要介紹了JavaScript的RequireJS庫入門指南,RequireJS庫的人氣近來攀升很快,需要的朋友可以參考下  簡介  如今最常用的JavaScript庫之一是RequireJS。

最近我參與的每個項目,都用到了RequireJS,或者是我向它們推薦了增加RequireJS。

在這篇文章中,我將描述RequireJS是什么,以及它的一些基礎場景。

  異步模塊定義(AMD)  談起RequireJS,你無法繞過提及JavaScript模塊是什么,以及AMD是什么。

  JavaScript模塊只是遵循SRP(Single Responsibility Principle單一職責原則)的代碼段,它暴露了一個公開的API。

在現今JavaScript開發中,你可以在模塊中封裝許多功能,而且在大多數項目中,每個模塊都有其自己的文件。

這使得JavaScript開發者日子有點難過,因為它們需要持續不斷的關注模塊之間的依賴性,按照一個特定的順序加載這些模塊,否則運行時將會放生錯誤。

  當你要加載JavaScript模塊時,就會使用script標簽。

為了加載依賴的模塊,你就要先加載被依賴的,之后再加載依賴的。

使用script標簽時,你需要按照此特定順序安排它們的加載,而且腳本的加載是同步的。

可以使用async和defer關鍵字使得加載異步,但可能因此在加載過程中丟失加載的順序。

另一個選擇是將所有的腳本捆綁打包在一起,但在捆綁的時候你仍然需要把它們按照正確的順序排序。

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

  CommonJS, 是對通用的JavaScript模式的標準化嘗試,它包含有 AMD 定義 ,我建議你在繼續本文之前先讀一下。

在ECMAScript 6這個下一版本JavaScript 規范中,有關于輸出,輸入以及模塊的規范定義,這些將成為JavaScript語言的一部分,而且這不會太久。

這也是關于RequireJS我們想說的東西。

  RequireJS?  RequireJS是一個Javascript 文件和模塊框架,可以從 http://requirejs.org/下載,如果你使用Visual Studio也可以通過Nuget獲取。

它支持瀏覽器和像node.js之類的服務器環境。

使用RequireJS,你可以順序讀取僅需要相關依賴模塊。

  RequireJS所做的是,在你使用script標簽加載你所定義的依賴時,將這些依賴通過head.appendChild()函數來加載他們。

當依賴加載以后,RequireJS計算出模塊定義的順序,并按正確的順序進行調用。

這意味著你需要做的僅僅是使用一個根來讀取你需要的所有功能,然后剩下的事情只需要交給RequireJS就行了。

為了正確的使用這些功能,你定義的所有模塊都需要使用RequireJS的API,否者它不會像期望的那樣工作。

  RequireJS API 存在于RequireJS載入時創建的命名空間requirejs下。

其主要API主要是下面三個函數:  define 該函數用戶創建模塊。

每個模塊擁有一個唯一的模塊ID,它被用于RequireJS的運行時函數,define函數是一個全局函數,不需要使用requirejs命名空間.  require 該函數用于讀取依賴。

同樣它是一個全局函數,不需要使用requirejs命名空間.  config 該函數用于配置RequireJS.  在后面,我們將教你如果使用這些函數,但首先讓我們先了解下RequireJS的加載流程。

  data-main屬性  當你下載RequireJS之后,你要做的第一件事情就是理解RequireJS是怎么開始工作的。

當RequireJS被加載的時候,它會使用data-main屬性去搜尋一個腳本文件(它應該是與使用src加載RequireJS是相同的腳本)。

data-main需要給所有的腳本文件設置一個根路徑。

根據這個根路徑,RequireJS將會去加載所有相關的模塊。

下面的腳本是一個使用data-main例子:    另外一種方式定義根路勁是使用配置函數,后面我們將會看到。

requireJs假設所有的依賴都是腳本,那么當你聲明一個腳本依賴的時候你不需要使用.js后綴。

  配置函數  如果你想改變RequireJS的默認配置來使用自己的配置,你可以使用require.configh函數。

config函數需要傳入一個可選參數對象,這個可選參數對象包括了許多的配置參數選項。

下面是一些你可以使用的配置:  baseUrl用于加載模塊的根路徑。

  paths用于映射不存在根路徑下面的模塊路徑。

  shims配置在腳本/模塊外面并沒有使用RequireJS的函數依賴并且初始化函數。

假設underscore并沒有使用 RequireJS定義,但是你還是想通過RequireJS來使用它,那么你就需要在配置中把它定義為一個shim。

  deps加載依賴關系數組  下面是使用配置的一個例子:  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 require.config({ //By default load any module IDs from scripts/app baseUrl: 'scripts/app', //except, if the module ID starts with lib paths: { lib: '../lib' }, // load backbone as a shim shim: { 'backbone': { //The underscore script dependency should be loaded before loading backbone.js deps: ['underscore'], // use the global 'Backbone' as the module name. exports: 'Backbone' } } });   在這個例子中把根路徑設置為了scripts/app,由lib開始的每個模塊都被配置在scripts/lib文件夾下面,backbone 加載的是一個shim依賴。

  用RequireJS定義模塊  模塊是進行了內部實現封裝、暴露接口和合理限制范圍的對象。

ReuqireJS提供了define函數用于定義模塊。

按章慣例每個Javascript文件只應該定義一個模塊。

define函數接受一個依賴數組和一個包含模塊定義的函數。

通常模塊定義函數會把前面的數組中的依賴模塊按順序做為參數接收。

例如,下面是一個簡單的模塊定義:  ? 1 2 3 4 5 6 7 8 9 10 define([logger], function(logger) { return { firstName: John, lastName: Black, sayHello: function () { logger.log(hello'); } } } );   我們看,一個包含了logger的模塊依賴數組被傳給了define函數,該模塊后面會被調用。

同樣我們看所定義的模塊中有一個名為logger的參數,它會被設置為logger模塊。

每一個模塊都應該返回它的API.這個示例中我們有兩個屬性(firstName和lastName)和一個函數(sayHello)。

然后,只要你后面定義的模塊通過ID來引用這個模塊,你就可以使用其暴露的API。

  使用require函數  在RequireJS中另外一個非常有用的函數是require函數。

require函數用于加載模塊依賴但并不會創建一個模塊。

例如:下面就是使用require定義了能夠使用jQuery的一個函數。

  ? 1 2 3 require(['jquery'], function ($) { //jQuery was loaded and can be used now });   小結  在這篇文章中我介紹了RequireJS庫,它是我創建每個Javascript項目都會用到的庫函數之一。

它不僅僅用于加載模塊依賴和相關的命令,RequireJS幫助我們寫出模塊化的JavaScript代碼,這非常有利于代碼的可擴展性和重用性。

版權聲明:本文由 微生康泰 整理編輯。

原標題:go入門指南,java初學者入門指南

轉載注明出處:http://www.dn9ww09s.icu/assemble/15485.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 怎樣添加控件,vs如何添加控件

    怎樣添加控件,vs如何添加控件 相關圖片如何添加文本框控件看到后臺有很多網頁,刪除內容時會有一個確認對話框,可以很好的避免意外刪除,所以我也想在我的asp.net項目中添加這個功能,研究一下,最后采取刪除確認的功...

  • php文本寫入,php打開文件寫入內容

    php文本寫入,php打開文件寫入內容 相關圖片進入php怎么建文件本文的例子描述了如何在PHP中讀寫tab分隔的文件。與您分享以供參考。具體分析如下:該PHP代碼實現了對tab分離文件的讀寫,包括兩個獨立的函數,一個是讀寫,如p...

  • iframe,if name==main

    iframe,if name==main 相關圖片if函數顯示name本文主要介紹if\\\\\\\\\\\\\\\\\\\\\\\\\\\__#name什么意思...

  • java項目打包成jar包,web項目打包成jar包

    java項目打包成jar包,web項目打包成jar包 相關圖片eclipse打包成jar在做Android項目時,我們經常會遇到以下需求:將一些已經完成的項目集成到當前項目中,并以某種方式將以前項目的類和資源移動到當前項目中。接下來,我將介紹以前項...

  • 彩票開獎查詢排列5列5,彩票開獎查詢排列3

    彩票開獎查詢排列5列5,彩票開獎查詢排列3 相關圖片排列五歷史開獎結果前段時間客戶提出了一個需求,就是想讓查詢的結果隨機排序一下。查詢了很多東西說的很是不明白,最后解決了問題。方案如下:  只是在ORDER BY 后面加上一些...

  • guid分區表,具有mbr分區表

    guid分區表,具有mbr分區表 相關圖片磁盤分區表如果你的數據庫中某一個表中的數據滿足以下幾個條件,那么你就要考慮創建分區表了。  1、數據庫中某個表中的數據很多。很多是什么概念?一萬條?兩萬條?還是十萬條、...

  • frm證書有用嗎,frm是什么證書

    frm證書有用嗎,frm是什么證書 相關圖片frm怎樣算通過有時候mysql沒有做好數據備份,或者被數據管理員誤刪,或者ibdata損壞了我們如何恢復呢?別怕,只要有部分frm、ibd存在,下面就是恢復教程。  mysqfrm等級...

  • ios使用技巧,蘋果使用技巧

    ios使用技巧,蘋果使用技巧 相關圖片s檔使用技巧這篇文章主要介紹了Backbone.js的一些使用技巧,Backbone.js是一款人氣JavaScript庫,需要的朋友可以參考下  自從3年前Backbon蘋果x全部使用技巧圖解...

  • iOS13支持設備,ios設備是什么

    iOS13支持設備,ios設備是什么 相關圖片ios設備是什么意思網絡上有很多iOS組件庫,很方便實現控件,所以綠茶小編提醒,此篇文章只是講訴下,要如何在 iOS 設備上呈現原型?  很多 UX 和 PM 同學還是習慣使用傳統ios設備在哪...

  • asp控件如何使用,asp控件添加

    asp控件如何使用,asp控件添加 相關圖片linkbutton控件本文主要介紹用自定義控件替換asp.net控件的方法。您可以為朋友參考以下函數:可以使用自定義控件頁的標記映射元素(asp.net設置體系結構)替換asp.negridview控件使用詳解...

熱評文章

  • 應用程序大小,應用程序窗口大小調整

    應用程序大小,應用程序窗口大小調整 相關圖片縮小應用程序窗口問:如何使我的安裝包更小,下載和安裝程序更快?答:本文收集了一些關于減小安裝包大小的技巧(在第一次下載和安裝程序時)。如果是升級程序,您可以閱讀本...

  • oracle存儲過程是什么,oracle存儲過程詳解

    oracle存儲過程是什么,oracle存儲過程詳解 相關圖片oracle如何調用存儲過程如果不小心覆蓋了上一個存儲過程,則需要刷新。時間越長,閃回的可能性就越小。這是恢復原則。如果不小心覆蓋了上一個存儲過程,則需要刷新。時間越長,...

  • 輕松轉聯盟,輕松轉奶

    輕松轉聯盟,輕松轉奶 相關圖片廣信貸簡單賺如何轉輕松賺將SQL數據庫傳輸到access數據庫的步驟如下:1。建立access數據庫:在access中建立access數據庫和表,access字段類型與SQL字段類型的轉奶技巧...

  • 分頁的實現思路,通用的分頁思路

    分頁的實現思路,通用的分頁思路 相關圖片分頁查詢思路在搜索復雜條件時,somefield somefieldmysql排序的東西會搜索數據庫,找到所有符合條件的記錄,然后取出M,n條記錄。如果你有數十萬條數據,用js分頁...

  • 話永遠不會掉在地上,什么東西往上升永遠不會往下掉

    話永遠不會掉在地上,什么東西往上升永遠不會往下掉 相關圖片是最里面兩個板牙永遠不會掉Android系統有自己的內存管理方法。為了保證系統的有序穩定運行,系統會自動分配和控制程序的內存使用。當系統認為當前的資源非常有限時,為了保證一...

  • excel生成文件夾目錄,生成pdf

    excel生成文件夾目錄,生成pdf 相關圖片如何制作pdf格式文件如果我們與其他人共享模塊,我們希望Access2000將刪除可編輯的源代碼。這樣,VBA程序可以繼續運行,但其他用戶無法查看或編輯它。我們可以通過單擊“工具”,...

  • 小米主題設置自定義,同花順自定義界面設置

    小米主題設置自定義,同花順自定義界面設置 相關圖片吃雞自定義布局設置微軟推出的Windows 8和Windows 10操作系統中,有近兩個采用了向導界面風格。事實上,在現代UI(新用戶界面)中也有類似的界面樣式。如果用戶設計了歡微信發現界面...

  • exists和in的區別,數據庫exists與in的區別

    exists和in的區別,數據庫exists與in的區別 相關圖片not exists用法本文的例子說明了在PHP中存在ISSET和ARRAYXKEY的區別。與您分享以供參考。具體分析如下:1。數組值的判斷不同。對于NULL或“OR”或“false”mysql exists用法...

  • u盤寫入無響應,軟碟通寫入無響應

    u盤寫入無響應,軟碟通寫入無響應 相關圖片寫入ISO失敗將asp生成的內容寫入響應流的最有效方法是什么?使用ASP的主要原因之一是在服務器上生成動態內容。因此,顯然,我們測試的起點是確定將動態內容發送到響應流的最合適...

  • 上傳參數亂碼,request參數亂碼

    上傳參數亂碼,request參數亂碼 相關圖片ajax傳遞中文參數亂碼計算機誕生于美國,英語是他的母語,其他語言是他的外語。像我們一樣,不管他掌握得多好,他也不會像母語那樣使用外語。他經常犯一些拼寫錯誤。產生誤碼的...

關注微信

变脸官网查询