伊谢尔伦2017-05-15 16:59:08
我一開始也是很熱衷將Angular和RequireJS,靈活地調用資源,用了一段時間,但是後來突然醒悟,其實這樣並沒有太大的意義。之後我修改了策略,只有插件用RequireJS來加載,其他的controller,router之類打包的app.js這樣的檔案中。其實文件也不大。業務代碼壓縮後到150K已經是逆天,何必花那麼多時間將Angular和RequireJS結合,而且會引入很多bug。
仅有的幸福2017-05-15 16:59:08
使用 angular-async-loader 來實現非同步載入 angular 模組,包括各種controller、filter、services和directive等,同時支援 angular-ui-router
http://my.oschina.net/sub/blog/513255/
https://github.com/subchen/angular-async-loader
迷茫2017-05-15 16:59:08
關於將RequireJS和Angular一塊使用,我認為還是根據業務場景去選擇,像一般的應用完全沒有必要,我們組之前一直使用的Dojo,Dojo就是基於AMD規範,使用RequireJS進行模組管理的,我曾一度想用RequireJS去管理Angular和Dojo。就是 Angular優勢 + Dojo的豐富的UI元件,畢竟Angular的UI控制複雜度不夠,畢竟像TreeGrid等超複雜的元件還是沒有的。但最後搞來搞去,總感覺,Require的方式和Angular自身的module化,似乎並不搭調,在使用過程中,感覺非常奇怪,尤其是團隊剛入門的新手,很容易困惑。
這是之前一個簡單的嘗試 https://github.com/hjzheng/RequireJS-Dojo-AngularJS
最後,大家一致覺得還是放棄Dojo,以Angular + Angular-UI—Bootstrap + UI-Grid的方式,如何沒有的話,就自己開發新指令,這樣效率反倒比之前的快。
當然如果你只是學習用的話,樓上和樓下同學給的東西,已經已經能滿足你。
某草草2017-05-15 16:59:08
依賴注入功能兩者是重複的,ng為了強化分層概念,引入了config,provider,factory,service等概念,其實在AMD裡說穿了就是一個define全部搞定。如樓上有位朋友所說,AMD最多只能凌駕於ng,管理一些跟ng平級的第三方函式庫了。