| 企服解答
js require用法包括了以下幾個方面:1、加載 JavaScript 文件;2、data-main 入口點;3、定義模塊;4、簡單的值對;5、函數式定義。
js require用法
1、加載 JavaScript 文件
RequireJS的目標是鼓勵代碼的模塊化,它使用了不同于傳統<script>標簽的腳本加載步驟。可以用它來加速、優化代碼,但其主要目的還是為了代碼的模塊化。
RequireJS以一個相對于baseUrl的地址來加載所有的代碼。 頁面頂層<script>標簽含有一個特殊的屬性data-main,require.js使用它來啟動腳本加載過程,而baseUrl一般設置到與該屬性相一致的目錄。
baseUrl亦可通過RequireJS config手動設置。如果沒有顯式指定config及data-main,則默認的baseUrl為包含RequireJS的那個HTML頁面的所屬目錄。
RequireJS默認假定所有的依賴資源都是js腳本,因此無需在module ID上再加".js"后綴,RequireJS在進行module ID到path的解析時會自動補上后綴。你可以通過paths config設置一組腳本,這些有助于我們在使用腳本時碼更少的字。
2、data-main 入口點
require.js 在加載的時候會檢察data-main 屬性
3、定義模塊
模塊不同于傳統的腳本文件,它良好地定義了一個作用域來避免全局名稱空間污染。它可以顯式地列出其依賴關系,并以函數(定義此模塊的那個函數)參數的形式將這些依賴進行注入,而無需引用全局變量。RequireJS的模塊是模塊模式的一個擴展,其好處是無需全局地引用其他模塊。
RequireJS的模塊語法允許它盡快地加載多個模塊,雖然加載的順序不定,但依賴的順序最終是正確的。同時因為無需創建全局變量,甚至可以做到在同一個頁面上同時加載同一模塊的不同版本。
一個磁盤文件應該只定義 1 個模塊。多個模塊可以使用內置優化工具將其組織打包。
4、簡單的值對
如果一個模塊僅含值對,沒有任何依賴,則在define()中定義這些值對就好了
5、函數式定義
如果一個模塊沒有任何依賴,但需要一個做setup工作的函數,則在define()中定義該函數,并將其傳給define()
| 拓展閱讀
js require的作用:
JavaScript語言本身是沒有模塊化的概念的,但是我們可以借助requirejs這個模塊化工具,實現js代碼的模塊化。requirejs的作用,就是將項目中的代碼,都寫成模塊化的東西,模塊之間又可以相互依賴,讓整個項目的可讀性,可維護性變得更好,同時又減少了全局污染。
[免責聲明]
文章標題: js require用法
文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。