Requirejs與angularjs

入門源碼有三個基本項目,start v1.0蚌卤、start v2.0筐付、start v3.0

statr v1.0入門項目,適合新手浆兰,代碼寫法簡單易懂

statr v2.0進階項目磕仅,采用分層方式

statr v3.0目標項目,采用分層簸呈、按需加載模式榕订,符合當下主流開發(fā)模式。


下面主要介紹v3.0


效果圖鎮(zhèn)樓

項目目錄結(jié)構(gòu)


目錄結(jié)構(gòu)

項目采用Bootstrap布局蜕便,框架采用angularjs劫恒,IDE為VS2010,數(shù)據(jù)來源為讀取json文件


配置項目

頁面采用按需加載模式轿腺,所以angular要手動啟動两嘴,頁面上不需要添加ng-app(添加了會報錯),同時導入requirejs族壳,配置入口文件

index.html(首頁)


主要代碼:

解析:data-main="js/common/main"?代表加載完Requirejs后以main.js文件為入口文件(加載文件默認為.js后綴憔辫,省缺)



main.js(入口文件)



后期補充(按需加載樣式表)


解析:

require.config({}) 加載配置

baseUrl:路徑前綴,默認為require所在目錄仿荆,一般設為項目根目錄(是在理解不了相對路徑可以設成域名加端口)

paths:文件別名贰您,為提高編碼效率坏平,以別名形式代替長長的文件路徑(文件后綴默認為.js,省缺)

shim:配置依賴

urlArgs:參數(shù)锦亦,幫助調(diào)試舶替,清除緩存

deps:優(yōu)先加載的文件


正式加載

define(["angular", "app.module", "app.config"], function?(angular) {

????angular.element(document).ready(function?() {

????????angular.bootstrap(document, ["phonecatApp"]);

????});

});

在加載完angular、app.module和app.config后手動啟動angular杠园,應用的作用域為整個文檔顾瞪,應用名稱為phonecatApp

可以把上面加載的三個文件理解三個命名空間



app.module.js(根模塊)


這里再加載完相應模塊后配置根模塊,根模塊名稱為phonecatApp抛蚁,和前面手動啟動的應用名稱要一致陈醒,配置完成把該模塊暴露出去,方便其他邏輯調(diào)用

PS:根模塊所依賴的子模塊必須在開始的時候全部加載篮绿,如果添加了模塊需要來這里加載并添加依賴(控制器孵延、指令等不需要)




app.config.js(根配置、路由配置)


在加載完app.module(根模塊)后亲配,開始對其進行配置

app.requireJs為自定義方法尘应,用于異步加載文件,會用即可

app.config 配置路由(暫時無法使用component形式)

resolve重點吼虎,在加載時觸發(fā)犬钢,可自定義開發(fā)





phoneList.module.js(列表模塊)


配置列表模塊并返回

ps:注意config部分,用于暴露注冊方法思灰,方便注冊控制器和服務等




phoneList.module.js(列表控制器)


注冊列表控制器蜓萄,其中Phone為自定義服務操漠,內(nèi)部封裝了http請求





phoneDetail.module.js(詳情模塊)


同列表模塊



phoneDetail.controller.js(詳情控制器)


同列表控制器




phone.server.js(自定義服務)




依賴angular-resource赃份,服務名稱為Phone择膝,設計風格為RESTful





模塊拓展

當要添加新模塊的時候,先聲明新模塊油湖,然后在根模塊配置依賴巍扛,再到根配置文件設置對應視圖與動態(tài)加載控制器(后期添加:同同時也要去main.js里配置模塊依賴的樣式表,實現(xiàn)動態(tài)加載css)





補充:

代碼已經(jīng)發(fā)生了一些小變化乏德,把列表控制器改成了組件形式撤奸,其次項目版本也發(fā)生了變化

該項目采用的是requirejs按需加載所需文件,其實也可以用oclazyload實現(xiàn)懶加載喊括,兩者思路差不多胧瓜,可以單模塊也可以使用多模塊,更可以實現(xiàn)自定義組件

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末郑什,一起剝皮案震驚了整個濱河市府喳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蘑拯,老刑警劉巖劫拢,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肉津,死亡現(xiàn)場離奇詭異,居然都是意外死亡舱沧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門偶洋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熟吏,“玉大人,你說我怎么就攤上這事玄窝∏K拢” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵恩脂,是天一觀的道長帽氓。 經(jīng)常有香客問我,道長俩块,這世上最難降的妖魔是什么黎休? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮玉凯,結(jié)果婚禮上势腮,老公的妹妹穿的比我還像新娘。我一直安慰自己漫仆,他們只是感情好捎拯,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盲厌,像睡著了一般署照。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吗浩,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天建芙,我揣著相機與錄音,去河邊找鬼拓萌。 笑死岁钓,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的微王。 我是一名探鬼主播屡限,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼炕倘!你這毒婦竟也來了钧大?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤罩旋,失蹤者是張志新(化名)和其女友劉穎啊央,沒想到半個月后眶诈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡瓜饥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年逝撬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乓土。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡宪潮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出趣苏,到底是詐尸還是另有隱情狡相,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布食磕,位于F島的核電站尽棕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏彬伦。R本人自食惡果不足惜滔悉,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望媚朦。 院中可真熱鬧氧敢,春花似錦、人聲如沸询张。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽份氧。三九已至唯袄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蜗帜,已是汗流浹背恋拷。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留厅缺,地道東北人蔬顾。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像湘捎,于是被迫代替她去往敵國和親诀豁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容