成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

sea.js

renweihub / 3012人閱讀

摘要:目標(biāo)了解目前公司所用得代碼模塊式開(kāi)發(fā)。比較目前比較流行得框架。模塊化可以讓每個(gè)文件的職責(zé)單一,非常有利于代碼的維護(hù)。模塊定義規(guī)范與的模塊規(guī)范非常相近。一類是以國(guó)內(nèi)的等類庫(kù)為代表的大教堂模式。

目標(biāo):1.了解目前公司所用得sea.js,代碼模塊式開(kāi)發(fā)。

 2.比較目前比較流行得bootstrap,angularJS,reactJS框架。

參考:http://seajs.org/docs/#docs
1)除了解決命名沖突和依賴管理,使用 Sea.js 進(jìn)行模塊化開(kāi)發(fā)還可以帶來(lái)很多好處:
1.模塊的版本管理。通過(guò)別名等配置,配合構(gòu)建工具,可以比較輕松地實(shí)現(xiàn)模塊的版本管理。

2.提高可維護(hù)性。模塊化可以讓每個(gè)文件的職責(zé)單一,非常有利于代碼的維護(hù)。Sea.js 還提供了 nocache、debug 等插件,擁有在線調(diào)試等功能,能比較明顯地提升效率。

3.前端性能優(yōu)化。Sea.js 通過(guò)異步加載模塊,這對(duì)頁(yè)面性能非常有益。Sea.js 還提供了 combo、flush 等插件,配合服務(wù)端,可以很好地對(duì)頁(yè)面性能進(jìn)行調(diào)優(yōu)。

4.跨環(huán)境共享模塊。CMD 模塊定義規(guī)范與 Node.js 的模塊規(guī)范非常相近。通過(guò) Sea.js 的 Node.js 版本,可以很方便實(shí)現(xiàn)模塊的跨服務(wù)器和瀏覽器共享。

前端的模塊化構(gòu)建可分為兩大類。一類是以 Dojo、YUI3、國(guó)內(nèi)的 KISSY 等類庫(kù)為代表的大教堂模式。在大教堂模式下,所有組件都是顆?;?、模塊化的,各組件之間層層分級(jí)、環(huán)環(huán)相扣。另一類是以 jQuery、RequireJS、國(guó)內(nèi)的 Sea.js、OzJS 等類庫(kù)為基礎(chǔ)的集市模式。在集市模式下,所有組件彼此獨(dú)立、職責(zé)單一,各組件通過(guò)組合松耦合在一起,協(xié)同完成開(kāi)發(fā)。

AngularJs:開(kāi)源得javascript框架,適合于開(kāi)發(fā)客戶端得單頁(yè)面應(yīng)用,它實(shí)現(xiàn)了前端MVC架構(gòu),專注于擴(kuò)展html功能,提供動(dòng)態(tài)技術(shù)綁定,且能與其他框架合作融洽。(大概有個(gè)概念,今后再詳細(xì)了解)

API 快速參考
1)seajs.config 用來(lái)對(duì) Sea.js 進(jìn)行配置。
https://github.com/seajs/seajs/issues/262
2)seajs.use 用來(lái)在頁(yè)面中加載一個(gè)或多個(gè)模塊。
https://github.com/seajs/seajs/issues/260
3)define 用來(lái)定義模塊。Sea.js 推崇一個(gè)模塊一個(gè)文件,遵循統(tǒng)一的寫法:
https://github.com/seajs/seajs/issues/242
https://github.com/seajs/seajs/issues/259
4)require 用來(lái)獲取指定模塊的接口
https://github.com/seajs/seajs/issues/242
https://github.com/seajs/seajs/issues/259
5)require.async 用來(lái)在模塊內(nèi)部異步加載一個(gè)或多個(gè)模塊。
https://github.com/seajs/seajs/issues/242
6)exports 用來(lái)在模塊內(nèi)部對(duì)外提供接口。
https://github.com/seajs/seajs/issues/242
7)module.exports 用來(lái)在模塊內(nèi)部對(duì)外提供接口。
https://github.com/seajs/seajs/issues/242

深度探討:
一.CMD 模塊得構(gòu)建過(guò)程
CMD模塊在構(gòu)建時(shí),有兩個(gè)基本操作:
1.提取操作,用來(lái)提取模塊得標(biāo)識(shí)id和一來(lái)dependencies.

a.js

define(function(require, exports) {
  var b = require("./b");
})
經(jīng)過(guò)提取操作后,a.js 的源碼會(huì)轉(zhuǎn)換成臨時(shí)文件:

define("xxx/1.0.0/a", ["./b"], function(require, exports) {
  var b = require("./b");
})

2.壓縮操作。經(jīng)過(guò)上面得提取操作后,構(gòu)建工具就可以調(diào)用任何JS壓縮工具來(lái)進(jìn)行壓縮了,require 參數(shù)也可以被壓縮成任意字符。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78848.html

相關(guān)文章

  • sea.js的同步魔法

    摘要:寫法加載完后,得到的執(zhí)行結(jié)果作為參數(shù)傳入了回調(diào)函數(shù)寫法預(yù)加載了執(zhí)行模塊,并得到結(jié)果賦值給調(diào)用模塊提供的方法從這一點(diǎn)上來(lái)看,兩者在性能上并沒(méi)有太多差異。 前些時(shí)間也是想寫點(diǎn)關(guān)于CMD模塊規(guī)范的文字,以便幫助自己理解。今天看到一篇知乎回答,算是給了我一點(diǎn)啟發(fā)。 同步寫法卻不阻塞? 先上一個(gè)sea.js很經(jīng)典的模塊寫法: // 定義一個(gè)模塊 define(function(require, ...

    cloud 評(píng)論0 收藏0
  • 閱讀sea.js源碼小結(jié)

    摘要:依賴信息是一個(gè)數(shù)組,比如上面的依賴數(shù)組是源碼如下是利用正則解析依賴的一個(gè)函數(shù)時(shí)間出發(fā)函數(shù)主要看這個(gè)部分注釋是防止拷貝該時(shí)間的回調(diào)函數(shù),防止修改,困惑了一下。對(duì)的賦值需要同步執(zhí)行,不能放在回調(diào)函數(shù)里。 sea.js想解決的問(wèn)題 惱人的命名沖突 煩瑣的文件依賴 對(duì)應(yīng)帶來(lái)的好處 Sea.js 帶來(lái)的兩大好處: 通過(guò) exports 暴露接口。這意味著不需要命名空間了,更不需要全局變量。...

    chavesgu 評(píng)論0 收藏0
  • 前端模塊化之AMD/require.js、CMD/sea.js

    摘要:代碼地址模塊化的主要區(qū)別此前年前前前前前端模塊化,主流的就是,支持的二者都可以用為什么模塊化一直以來(lái),前端開(kāi)發(fā)的痛點(diǎn)之一就是代碼復(fù)用職責(zé)劃分問(wèn)題,兼容性比如等新語(yǔ)法的支持組件化代碼壓縮等不在本文討論范圍。showImg(https://user-gold-cdn.xitu.io/2019/5/22/16adee75f360801a); 前言 請(qǐng)注意,現(xiàn)在是2019/05/22,這!不!是!墳...

    buildupchao 評(píng)論0 收藏0
  • 前端seajs模塊化實(shí)踐

    摘要:前端模塊化開(kāi)發(fā)的價(jià)值惱人的命名沖突煩瑣的文件依賴使用來(lái)解決除了解決命名沖突和依賴管理,使用進(jìn)行模塊化開(kāi)發(fā)還可以帶來(lái)很多好處模塊的版本管理。模塊化可以讓每個(gè)文件的職責(zé)單一,非常有利于代碼的維護(hù)。模塊定義規(guī)范與的模塊規(guī)范非常相近。 前端模塊化開(kāi)發(fā)的價(jià)值1、惱人的命名沖突2、煩瑣的文件依賴使用 Sea.js 來(lái)解決除了解決命名沖突和依賴管理,使用 Sea.js 進(jìn)行模塊化開(kāi)發(fā)還可以帶來(lái)很多好...

    SHERlocked93 評(píng)論0 收藏0
  • vue2.0+seajs開(kāi)發(fā)

    摘要:官方推薦使用開(kāi)發(fā)項(xiàng)目但是在我在打包后沒(méi)有解決好如何打包成的問(wèn)題。在頁(yè)尾,通過(guò)引入后,有一段配置代碼的簡(jiǎn)單配置加載入口模塊在下載完成后,會(huì)自動(dòng)加載入口模塊。即入口文件語(yǔ)法規(guī)范遵循規(guī)范,可以像一般書寫模塊代碼。 vue官方推薦使用webpack+vue-cli開(kāi)發(fā)Vue項(xiàng)目 但是在我在webpack npm run dev 打包后沒(méi)有解決好如何打包成apk的問(wèn)題。所以就無(wú)奈的使用的sea...

    wangtdgoodluck 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

renweihub

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<