日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

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

發(fā)布時(shí)間:2025/7/25 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AMD and CMD are dead之KMD.js版本0.0.2发布 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

更新

正式從UglifyJS切換至UglifyJS2

增加依賴可視化功能

壓縮代碼更加方便

統(tǒng)一風(fēng)格:如main的class名也不能省略

優(yōu)化了kmdjs管道

修復(fù)了無數(shù)bug

通過src開啟debug模式

代碼格式強(qiáng)制分號結(jié)束,不然報(bào)錯(cuò)

問題

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

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

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

4.關(guān)于給main.js強(qiáng)制加入一個(gè)config,這個(gè)是非常不人道,以為main.js只是一個(gè)入口。kmdjs.config不屬于其職責(zé)范疇。但是這個(gè)是被逼無奈的結(jié)果。在最早的kmdjs版本中,config使用單獨(dú)的js存放,在載入kmdjs的同時(shí),會(huì)通過xmlHttpRequest去發(fā)起AJAX請求加載config,config存了項(xiàng)目名稱以及baseUrl和命名空間、路徑和class的關(guān)系。未來config還會(huì)負(fù)責(zé)配置那種js lazy load。但是這種設(shè)計(jì)導(dǎo)致的一個(gè)重大隱患就是,瀏覽kmdjs項(xiàng)目必須起一web服務(wù)器,使用文件系統(tǒng)打開則會(huì)報(bào)錯(cuò)。所以果斷去掉了,直接把config存在main.js最上部。

KMD.js VNEXT

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

地址

https://github.com/kmdjs

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

轉(zhuǎn)載于:https://www.cnblogs.com/iamzhanglei/p/3813645.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的AMD and CMD are dead之KMD.js版本0.0.2发布的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。