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

sea.js常用的api簡易文檔

 更新時間:2016年11月15日 08:46:47   投稿:daisy  
現(xiàn)在使用sea.js的公司越來越多, 比如阿里巴巴,淘寶網(wǎng),百姓網(wǎng),支付寶,有道云筆記等。模塊化的javascript開發(fā)帶來了可維護、可擴展性,尤其在多人協(xié)作開發(fā)的時候不用再擔(dān)心文件依賴和函數(shù)命名沖突的問題,本文給大家分享了sea.js常用的api簡易文檔,下面來一起看看吧

本文羅列了seajs常用的api和代碼示例,下面話不多說,來看看詳細的介紹,有需要的朋友們可以參考借鑒。

一、seajs.config

alias

別名配置,配置之后可在模塊中使用require調(diào)用 require('jquery');

seajs.config({
 alias: { 'jquery': 'jquery/jquery/1.10.1/jquery' } 
});
define(function(require, exports, module) {
 //引用jQuery模塊
 var $ = require('jquery');
});

paths 設(shè)置路徑,方便跨目錄調(diào)用。通過靈活的設(shè)置path可以在不影響base的情況下指定到某個目錄。

seajs.config({
 //設(shè)置路徑
 paths: {
  'gallery': 'https://a.alipayobjects.com/gallery'
 },
 // 設(shè)置別名,方便調(diào)用
 alias: {
  'underscore': 'gallery/underscore'
 }
});

vars

變量配置。有些場景下,模塊路徑在運行時才能確定,這時可以使用 vars 變量來配置。

vars 配置的是模塊標(biāo)識中的變量值,在模塊標(biāo)識中用 {key} 來表示變量。

seajs.config({
 // 變量配置
 vars: {
  'locale': 'zh-cn'
 }
});
define(function(require, exports, module) {
 var lang = require('./i18n/{locale}.js');
  //=> 加載的是 path/to/i18n/zh-cn.js
});

map

該配置可對模塊路徑進行映射修改,可用于路徑轉(zhuǎn)換、在線調(diào)試等。

seajs.config({
 map: [
  [ '.js', '-debug.js' ]
 ]
});
define(function(require, exports, module) {
 var a = require('./a');
 //=> 加載的是 path/to/a-debug.js
});

preload

使用preload配置項,可以在普通模塊加載前,提前加載并初始化好指定模塊。

preload中的空字符串會被忽略掉。

// 在老瀏覽器中,提前加載好 ES5 和 json 模塊
seajs.config({
 preload: [
  Function.prototype.bind ? '' : 'es5-safe',
  this.JSON ? '' : 'json'
 ]
});

注意:preload中的配置,需要等到 use 時才加載。比如:

seajs.config({
 preload: 'a'
});
// 在加載 b 之前,會確保模塊 a 已經(jīng)加載并執(zhí)行好
seajs.use('./b');

debug

值為true時,加載器不會刪除動態(tài)插入的 script 標(biāo)簽。插件也可以根據(jù)debug配置,來決策 log 等信息的輸出。

base

Sea.js 在解析頂級標(biāo)識時,會相對 base 路徑來解析。

注意:一般請不要配置 base 路徑,把 sea.js 放在合適的路徑往往更簡單一致。

charse

獲取模塊文件時,<script> 或 <link> 標(biāo)簽的charset屬性。 默認是utf-8 charset還可以是一個函數(shù):

seajs.config({
 charset: function(url) {
  // xxx 目錄下的文件用 gbk 編碼加載
  if (url.indexOf('http://example.com/js/xxx') === 0) {
   return 'gbk';
  }
  // 其他文件用 utf-8 編碼
  return 'utf-8';
 }
});

二、seajs.use

用來在頁面中加載一個或多個模塊。seajs.use(id, callback?)

// 加載一個模塊
seajs.use('./a');
// 加載一個模塊,在加載完成時,執(zhí)行回調(diào)
seajs.use('./a', function(a) {
 a.doSomething();
});
// 加載多個模塊,在加載完成時,執(zhí)行回調(diào)
seajs.use(['./a', './b'], function(a, b) {
 a.doSomething();
 b.doSomething();
});

注意:seajs.use 與 DOM ready 事件沒有任何關(guān)系。如果某些操作要確保在 DOM ready 后執(zhí)行,需要使用 jquery 等類庫來保證。比如

seajs.use(['jquery', './main'], function($, main) {
 $(document).ready(function() {
  main.init();
 });
});

注意:use方法第一個參數(shù)一定要有,但是可以是null,也可以是一個變量

var bootstrap = ['bootstrap.css', 'bootstrap-responsive.css', 'bootstrap.js'];
seajs.use(bootstrap, function() {
 //do something
});

三、seajs.cache

通過 seajs.cache,可以查閱當(dāng)前模塊系統(tǒng)中的所有模塊信息。

比如,打開 seajs.org,然后在 WebKit Developer Tools 的 Console 面板中輸入 seajs.cache,可以看到:

Object
 > http://seajs.org/docs/assets/main.js: x
 > https://a.alipayobjects.com/jquery/jquery/1.10.1/jquery.js: x
 > __proto__: Object

這些就是文檔首頁用到的模塊。展開某一項可以看到模塊的具體信息,含義可參考:CMD 模塊定義規(guī)范 中的 module 小節(jié)。

四、seajs.reslove

類似require.resolve,會利用模塊系統(tǒng)的內(nèi)部機制對傳入的字符串參數(shù)進行路徑解析。

seajs.resolve('jquery');
// => http://path/to/jquery.js
seajs.resolve('./a', 'http://example.com/to/b.js');
// => http://example.com/to/a.js

seajs.resolve 方法不光可以用來調(diào)試路徑解析是否正確,還可以用在插件開發(fā)環(huán)境中。

五、seajs.data

通過 seajs.data,可以查看 seajs 所有配置以及一些內(nèi)部變量的值,可用于插件開發(fā)。當(dāng)加載遇到問題時,也可用于調(diào)試。

六、常見問題

關(guān)于模塊標(biāo)識

Seajs模塊標(biāo)識主要以小駝峰字符串、.或..

// 在 http://example.com/js/a.js 的 factory 中:
require.resolve('./b');
 // => http://example.com/js/b.js
// 在 http://example.com/js/a.js 的 factory 中:
require.resolve('../c');
 // => http://example.com/c.js

分為 相對 與 頂級 標(biāo)識。以.或..開頭,則為相對標(biāo)識 。以小駝峰字符串開關(guān),則為頂級標(biāo)識。

// 假設(shè) base 路徑是:http://www.aseoe.com/assets/
// 在模塊代碼里:
require.resolve('gallery/jquery/1.9.1/jquery');
 // => http://www.aseoe.com/assets/gallery/jquery/1.9.1/jquery.js

//sea.js的路徑,即 base 路徑,相對于當(dāng)前頁面
<script src="../actjs/assets/sea-modules/seajs/2.1.1/sj.js"></script>
<script type="text/javascript">
//配置Seajs
seajs.config({
 alias: {
  //頂級標(biāo)識,基于 base 路徑
  'actjs': 'actjs/core/0.0.7/core.js',
   // => http://
  'position': 'actjs/util/0.0.2/position.js'
 }
});
seajs.config({
 alias: {
  //普通路徑,相對于當(dāng)前頁面
  'affix': '../../actjs/assets/widget/src/widget-affix.js',
  //相對標(biāo)識,相對于當(dāng)前頁面
  'init': './src/init.js'
 }
});
</script>

關(guān)于路徑

Seajs除了相對與頂級標(biāo)識之外,還可以使用普通路徑來加載模塊。

就到當(dāng)前頁面的腳本分析

開始的時候會覺得Seajs的路徑有點不習(xí)慣,由其是Base路徑。切記Base路徑就是sea.js的那個文件的上級路徑,然后所有頂級標(biāo)識,相對標(biāo)識都是相對于這個Base來調(diào)整。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作帶來一定的幫助如果有疑問大家可以留言交流。

相關(guān)文章

  • Vue實現(xiàn)圖片懶加載的多種方法詳解

    Vue實現(xiàn)圖片懶加載的多種方法詳解

    圖片懶加載是前端開發(fā)中一項重要的性能優(yōu)化策略,它能夠明顯縮短頁面加載時間,提升用戶的瀏覽體驗,在本文中,我們將深入探討在Vue開發(fā)時候如何實現(xiàn)圖片懶加載,同時探討多種實現(xiàn)途徑,需要的朋友可以參考下
    2023-08-08
  • Seajs的學(xué)習(xí)筆記

    Seajs的學(xué)習(xí)筆記

    這篇文章主要介紹了Seajs的相關(guān)知識和和學(xué)習(xí)心得,適合剛接觸SeaJS的同學(xué),需要的朋友可以參考下
    2014-03-03
  • seajs模塊壓縮問題與解決方法實例分析

    seajs模塊壓縮問題與解決方法實例分析

    這篇文章主要介紹了seajs模塊壓縮問題與解決方法,結(jié)合實例形式分析了seajs模塊壓縮過程中出現(xiàn)的問題及相應(yīng)的解決方法,需要的朋友可以參考下
    2017-10-10
  • seajs模塊之間依賴的加載以及模塊的執(zhí)行

    seajs模塊之間依賴的加載以及模塊的執(zhí)行

    做前端項目已經(jīng)離不開SeaJS了,現(xiàn)在的很多的網(wǎng)站都用了SeaJS,對這個JS模塊加載器原理的越來越感興趣。這篇文章我們來一起學(xué)習(xí)seajs模塊之間依賴的加載以及模塊的執(zhí)行,感興趣的朋友們下面來一起看看吧。
    2016-10-10
  • seaJs使用心得之exports與module.exports的區(qū)別實例分析

    seaJs使用心得之exports與module.exports的區(qū)別實例分析

    這篇文章主要介紹了seaJs使用心得之exports與module.exports的區(qū)別,結(jié)合實例形式分析了exports與module.exports具體功能、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2017-10-10
  • 深入探尋seajs的模塊化與加載方式

    深入探尋seajs的模塊化與加載方式

    本文是對Sea.js 提供seajs的模塊化與加載方式的講解,對學(xué)習(xí)JavaScript編程技術(shù)有所幫助,與大家分享。有需要的小伙伴可以參考下。
    2015-04-04
  • 把jQuery的類、插件封裝成seajs的模塊的方法

    把jQuery的類、插件封裝成seajs的模塊的方法

    這篇文章主要介紹了把jQuery的類、插件封裝成seajs的模塊的方法,需要的朋友可以參考下
    2014-03-03
  • seajs學(xué)習(xí)之模塊的依賴加載及模塊API的導(dǎo)出

    seajs學(xué)習(xí)之模塊的依賴加載及模塊API的導(dǎo)出

    SeaJS是一個遵循 CommonJS 規(guī)范的模塊加載框架,可用來輕松愉悅地加載任意JavaScript模塊和css模塊樣式。SeaJS接口和方法也非常少,SeaJS 就兩個核心:模塊定義和模塊的加載及依賴關(guān)系。本文將詳細介紹模塊的依賴加載及模塊API的導(dǎo)出,有需要的朋友們可以參考借鑒。
    2016-10-10
  • seajs實現(xiàn)強制刷新本地緩存的方法分析

    seajs實現(xiàn)強制刷新本地緩存的方法分析

    這篇文章主要介紹了seajs實現(xiàn)強制刷新本地緩存的方法,結(jié)合實例形式簡單分析了seajs強制刷新本地緩存的原理、實現(xiàn)方法及相關(guān)注意事項,需要的朋友可以參考下
    2017-10-10
  • Seajs 簡易文檔 提供簡單、極致的模塊化開發(fā)體驗

    Seajs 簡易文檔 提供簡單、極致的模塊化開發(fā)體驗

    這篇文章主要介紹了Seajs 簡易文檔 提供簡單、極致的模塊化開發(fā)體驗,非官方文檔,整理來自己官方文檔的文字與實例,方便速查。需要的朋友可以參考下
    2016-04-04

最新評論