欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

seajs中模塊依賴的加載處理實(shí)例分析

 更新時間:2017年10月10日 09:52:47   作者:hsany330  
這篇文章主要介紹了seajs中模塊依賴的加載處理,結(jié)合實(shí)例形式分析了seajs模塊依賴與加載的原理、相關(guān)注意事項(xiàng)與使用方法,需要的朋友可以參考下

本文實(shí)例講述了seajs中模塊依賴的加載處理。分享給大家供大家參考,具體如下:

最近在做項(xiàng)目的時候發(fā)現(xiàn)一些關(guān)于模塊依賴問題,特記錄下:

比如現(xiàn)有3個文件:

/*init.js*/
define(function(require, exports, module){
 require('jquery');
 require('jquery.plugA');
})
/*jquery.plugA.js*/
define(function(require, exports, module){
 require('jquery');
 require('jquery.plugB');
 //code...
})
/*jquery.plugB.js*/
define(functioin(require, exports, module){
 require('jquery');
 //code...
})

比如執(zhí)行init.js時,init.js、jquery.plugA.js、jquery.plugB.js都會依賴到j(luò)query,那么這種情況下seajs對jquery如何處理的呢?只執(zhí)行一次?執(zhí)行多次?還是其他方式?

此處參考玉伯的回答:

我對模塊調(diào)用的理解是,調(diào)用是指獲取某個模塊的接口。在 SeaJS 里,只有 seajs.use, require.async, 和 require 會產(chǎn)生模塊調(diào)用,比如: var a = require('./a')執(zhí)行 require(‘./a') 時,會獲取模塊的接口,如果是第一次調(diào)用,會初始化模塊 a,以后再調(diào)用時,直接返回模塊 a 的接口; define 只是注冊模塊信息,比如打包之后:define(id, deps, factory) 是注冊了一個模塊到 seajs.cache 中,define 類似:seajs.cache[id] = { id: id, dependencies: deps, factory: factory }

是純注冊信息。

require('./a') 時,才會執(zhí)行 seajs.cache['a'].factory, 執(zhí)行后得到 seajs.cache['a'].exports

擴(kuò)展:URI與URL的區(qū)別

URI:Uniform Resource Identifiers ,統(tǒng)一資源標(biāo)識符;

URL:Uniform Resource Locators ,統(tǒng)一資源定位符;

URN:Uniform Resource Names,統(tǒng)一資源名稱

URL,URN是URI的子集.

參考

Module.STATUS的具體含義:https://github.com/seajs/seajs/issues/303
分清 URI、URL 和 URNhttp://www.ibm.com/developerworks/cn/xml/x-urlni.html

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript擴(kuò)展技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)

希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論