AMD and CMD are dead之KMD.js版本0.0.2發布


更新

正式從UglifyJS切換至UglifyJS2

增加依賴可視化功能

image

壓縮代碼更加方便

image

統一風格:如main的class名也不能省略

image

優化了kmdjs管道

修復了無數bug

通過src開啟debug模式

2014-06-29_155911

代碼格式強制分號結束,不然報錯

問題

1.從UglifyJS切換至UglifyJS2,主要是UglifyJS2把AST更加嚴格規范化,而且提供了方便的ast.walk遍歷js代碼的語法樹,把任何代碼分析得無比透徹,比巨復雜無比的正則表達式穩定靠譜多了,通過UglifyJS,使開發者能把js代碼隨意組裝優化壓縮美化,使得使用者有着無限的發揮空間。

2.UglifyJS2不兼容老版本IE,大量使用了新的方法,所以這里浪費了一點時間去修正prototype上的方法。諸如:JSON、Array、String等。

3.使用過kmdjs的開發者都知道,kmdjs沒有require關鍵字。在諸如cmd和amd中,main.js必須使用require關鍵字。而這非常違背常規思維,因為main.js也是工程中的代碼,既然是工程中的代碼,那它一定也要處於某個模塊下,也就是某一命名空間下,而kmdjs則是這么干的。main.js里面除了多了kmdjs.config,其余代碼和其他js一樣,都是使用define開頭,都必須申明一個名字。

4.關於給main.js強制加入一個config,這個是非常不人道,以為main.js只是一個入口。kmdjs.config不屬於其職責范疇。但是這個是被逼無奈的結果。在最早的kmdjs版本中,config使用單獨的js存放,在載入kmdjs的同時,會通過xmlHttpRequest去發起AJAX請求加載config,config存了項目名稱以及baseUrl和命名空間、路徑和class的關系。未來config還會負責配置那種js lazy load。但是這種設計導致的一個重大隱患就是,瀏覽kmdjs項目必須起一web服務器,使用文件系統打開則會報錯。所以果斷去掉了,直接把config存在main.js最上部。

KMD.js VNEXT

下一個版本的kmdjs,也就是v0.0.3,將加入一重大且實用的lazy load。敬請期待……

地址

https://github.com/kmdjs

AMD和CMD已死。我不是認真,我只是為了看到AMD和CMD躺在血泊里。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM