|
更快的Babel 7編譯器首次亮相JavaScript,TypeScript但TypeScript并不完全支持,而Babel 7確實打破了一些現有的代碼
Babel 7是對JavaScript編譯器兩年的升級版本,現已推出,具有速度提升和TypeScript支持。
較快的Babel應該減少構建時間。已經進行了更改以優化代碼。已經從Google的V8 JavaScript引擎團隊接受了補丁。
此外,Babel現在提供TypeScript支持。您使用@ babel / preset-typescript解析類型語法,類似于Babel處理Flow靜態類型檢查器的方式。但Babel不對TypeScript代碼進行類型檢查;它只轉換代碼并將編譯,無論可能存在哪種類型的錯誤。 Babel確實將最新的JavaScript功能轉換為較舊的運行時和瀏覽器。
Babel 7的其他功能包括:
babel-upgrade工具,用于自動處理重大變化。該工具在package.json和babelrc config中具有依賴關系。 Babel團隊建議直接在帶有npx babel-upgrade的Git倉庫上運行它,或者你可以直接用npm i babel-upgrade -g安裝它。
對于JavaScript配置文件,現在有babel.js.config。這些文件在JavaScript生態系統中很常見。
通過覆蓋啟用選擇性配置,用于為每個glob指定不同的配置。
已經對某些插件的松散選項進行了更改,而其他插件則添加了新選項。但是使用這些選項會使開發人員選擇不符合規范的行為。當關閉編譯以本機使用語法時,這可能成為一個問題。
以實驗方式展示自動填充。在不支持它們的環境中,Promise和符號等功能需要使用Polyfill。在區分Babel作為編譯器和polyfill所做的事情時,這很重要。
調用者選項已添加到@ babel / core,因此工具可以將元數據傳遞給預設和插件。
Babel 7確實打破了幾項現有功能:
它不再支持未維護的節點版本0.10,0.12,4,5。
它為某些面向用戶的包引入了@ babel / core的peerDependency,例如babel-loader和babel-cli。
它通過切換到“作用域”包移動到@babel命名空間。這有助于區分官方軟件包,因此babel-core變為@ babel / core。
從beta 31開始,JSX Fragment支持可用。
未來版本的計劃功能包括:
|
|