IT之家 7 月 30 日消息,Node.js 開發(fā)團(tuán)隊(duì)在 7 月 25 日合并了“為 TypeScript 添加實(shí)驗(yàn)性支持”的 Pull Request 拉取請求頁面,旨在讓 Node.js 開發(fā)者可以通過配置實(shí)驗(yàn)性 flag 直接執(zhí)行 TypeScript 文件。不過此舉引發(fā)爭議,大量用戶認(rèn)為這將導(dǎo)致 Node.js 降低穩(wěn)定性,相關(guān)頁面甚至因?yàn)檠哉撨^激一度被鎖定。
據(jù)悉,TypeScript 是微軟基于 JavaScript 開發(fā)的編程語言,相對 JavaScript,其支持靜態(tài)類型系統(tǒng),可以提升代碼安全性及運(yùn)行效率。而原本以 JavaScript 為基礎(chǔ)的 Node.js 要支持 TypeScript 需要進(jìn)行一系列轉(zhuǎn)譯理,在轉(zhuǎn)譯過程中 TypeScript 特有的類型會(huì)被丟棄(IT之家注:即“類型剝離”,Type Stripping)。
許多開發(fā)者認(rèn)為相關(guān)類型剝離操作“并不簡單”,需要完整的 TypeScript 語法解析器才能實(shí)行,但 TypeScript 語法又不斷變化,因此 Node.js 添加 TypeScript 實(shí)驗(yàn)性支持的行為反而降低了語言穩(wěn)定性,還有可能導(dǎo)致未來用戶需要不斷更新 Node.js 版本才能支持 TypeScript 的所有功能。
而 Node.js 開發(fā)團(tuán)隊(duì)則回應(yīng)稱他們添加 TypeScript 實(shí)驗(yàn)性支持是為了照顧“社區(qū)需求”,相關(guān)改進(jìn)“是推動(dòng) Node.js 生態(tài)系統(tǒng)發(fā)展以及未來提供原生支持 TypeScript 的重要一步”,令加載 TypeScript 文件更為便利,而不需要安裝依賴項(xiàng) / 專有加載程序。
Node.js 開發(fā)團(tuán)隊(duì)同時(shí)表示,他們早已與社區(qū)就進(jìn)行一輪討論,會(huì)在保持穩(wěn)定、高性能的前提下實(shí)現(xiàn)類型剝離方案,目前 Node.js 開發(fā)團(tuán)隊(duì)傾向于以解耦的方式分發(fā)獨(dú)立包令其獲得實(shí)驗(yàn)性 TypeScript 支持,這樣既能維持 Node.js 核心穩(wěn)定,也能夠保證其持續(xù)發(fā)展。
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。