當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]上周六,一個(gè)很小的 JavaScript 庫的更新使得大部分 JavaScript 生態(tài)系統(tǒng)陷入了混亂。據(jù) ZDNet 指出,大約有數(shù)百萬個(gè)項(xiàng)目在這一事件中受到了影響。而令人感到震驚地是,引起整個(gè)混亂

上周六,一個(gè)很小的 JavaScript 庫的更新使得大部分 JavaScript 生態(tài)系統(tǒng)陷入了混亂。據(jù) ZDNet 指出,大約有數(shù)百萬個(gè)項(xiàng)目在這一事件中受到了影響。

而令人感到震驚地是,引起整個(gè)混亂的僅僅是一個(gè)“單行代碼(one-liner) ” 的 JavaScript 庫。這也是第二次發(fā)生由小型 JavaScript 項(xiàng)目引起廣泛問題的情況。第一次是發(fā)生在 2016 年 3 月,當(dāng)時(shí) left-pad JavaScript 庫的作者(一個(gè)總共只有 17 行代碼的項(xiàng)目)突然決定取消發(fā)布該庫,以類似的方式破壞了數(shù)千個(gè)項(xiàng)目。

而上周末導(dǎo)致一系列問題的這個(gè)軟件包名為 is-promise,該庫由兩行原始源代碼組成,開發(fā)人員可以通過單行調(diào)用在自己的項(xiàng)目中使用它。其目的是讓開發(fā)人員測試 JavaScript 對象是否為“Promise”函數(shù):用于生產(chǎn)環(huán)境中時(shí),該函數(shù)返回 yes 或 no 的布爾值。

然而,盡管只是兩行執(zhí)行基本檢查的代碼,is-promise 庫仍是當(dāng)今最受歡迎的 JavaScript npm 軟件包(庫)之一。根據(jù) GitHub 的說法,該庫是超過 340 萬個(gè)項(xiàng)目的一部分,并被 766 個(gè)其他 JavaScript 庫用作依賴項(xiàng)。

上周末,is-promise 庫進(jìn)行了更新,以獲取作為 ES 模塊(JavaScript 語言使用的標(biāo)準(zhǔn)化模塊系統(tǒng))的支持。但是,is-promise v.2.2.0 版本卻未遵循正確的 ES 模塊標(biāo)準(zhǔn)。因此更新發(fā)布后,由于其不正確的 ES 模塊支持 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ,在各自的構(gòu)建鏈(build chain)中使用 is-promise 的眾多項(xiàng)目紛紛開始出現(xiàn)問題。

該錯(cuò)誤迅速地引發(fā)了一連串的影響,范圍涵蓋至封閉源 JavaScript 代碼庫和 JavaScript 生態(tài)系統(tǒng)中一些最大的項(xiàng)目。其中包括有:Facebook 的 Create React App(用于創(chuàng)建 React 應(yīng)用程序的標(biāo)準(zhǔn)模板)、谷歌的 Angular.js 框架、谷歌的 Firebasse-tools、亞馬遜的 AWS Serverless CLI、Nuxt.js 和 AVA 等。

So this just happened.Is-Promise just made a little change and it broke multiple packages.So far as I've read its broken Firebase-tools, angular cli, aws serveless cli, create react app, possibly more.https://t.co/3ZZofevWNR— Preet? (@TmPreet) April 25, 2020

該 bug 并沒有導(dǎo)致現(xiàn)有項(xiàng)目崩潰,因此沒有出現(xiàn)實(shí)際的停運(yùn)故障,但其確實(shí)害得廣大開發(fā)人員無法編譯各自項(xiàng)目的新版本。

之后,is-promise 團(tuán)隊(duì)發(fā)布了一個(gè)更新,但并未能解決該問題,最終還是在 v2.2.2 版本中撤回了支持 ES 模塊的功能。

與 2016 年的情況一樣,is-promise 事件引發(fā)了人們的疑問,大家開始討論 JavaScript 生態(tài)系統(tǒng)中是不是真的需要單行代碼庫。就像 2016 年以及多年前其他編程語言的生態(tài)系統(tǒng)所提出的那樣,同樣的觀點(diǎn)再次被提了出來。

有人認(rèn)為,如果開發(fā)人員創(chuàng)建的庫只有短短幾行代碼,對于最無關(guān)緊要的操作而言,模塊化做得過頭了,毫無必要。還有人認(rèn)為,需要對這些項(xiàng)目進(jìn)行模塊化,因?yàn)橐赃@種方式,“任務(wù) A”可以在一個(gè)模塊中進(jìn)行管理,而不是讓成千上萬的開發(fā)人員在自己的項(xiàng)目中以不同的方式來處理它。

事實(shí)上,有關(guān)模塊化的討論已經(jīng)存在了多年,因此在短期時(shí)間內(nèi)可能也得不出什么結(jié)論。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉