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

sea.js常用的api簡(jiǎn)易文檔

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

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

一、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的情況下指定到某個(gè)目錄。

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

vars

變量配置。有些場(chǎng)景下,模塊路徑在運(yùn)行時(shí)才能確定,這時(shí)可以使用 vars 變量來配置。

vars 配置的是模塊標(biāo)識(shí)中的變量值,在模塊標(biāo)識(shí)中用 {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

該配置可對(duì)模塊路徑進(jìn)行映射修改,可用于路徑轉(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配置項(xiàng),可以在普通模塊加載前,提前加載并初始化好指定模塊。

preload中的空字符串會(huì)被忽略掉。

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

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

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

debug

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

base

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

注意:一般請(qǐng)不要配置 base 路徑,把 sea.js 放在合適的路徑往往更簡(jiǎn)單一致。

charse

獲取模塊文件時(shí),<script> 或 <link> 標(biāo)簽的charset屬性。 默認(rèn)是utf-8 charset還可以是一個(gè)函數(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

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

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

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

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

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

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

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

四、seajs.reslove

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

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)加載遇到問題時(shí),也可用于調(diào)試。

六、常見問題

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

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

// 在 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

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

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

關(guān)于路徑

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

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

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

    本文是對(duì)Sea.js 提供seajs的模塊化與加載方式的講解,對(duì)學(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是一個(gè)遵循 CommonJS 規(guī)范的模塊加載框架,可用來輕松愉悅地加載任意JavaScript模塊和css模塊樣式。SeaJS接口和方法也非常少,SeaJS 就兩個(gè)核心:模塊定義和模塊的加載及依賴關(guān)系。本文將詳細(xì)介紹模塊的依賴加載及模塊API的導(dǎo)出,有需要的朋友們可以參考借鑒。
    2016-10-10
  • seajs實(shí)現(xiàn)強(qiáng)制刷新本地緩存的方法分析

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

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

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

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

最新評(píng)論