在釋出Next.js 6後經過4個月,應用程式開發框架Next.js釋出了第7版,這次大幅提升了開發者體驗,啟動速度提升57%,重新編譯速度也提高42%,而這樣的速度提升,部分受惠於升級編譯工作管線Webpack 4和Babel 7,另外還改良了React Error Overlay,以提供更詳盡好讀的錯誤報告。

Next.js是一個在瀏覽器和伺服器運作的JavaScript開發框架,能為React應用提供開發樣板,用來開發靜態或是伺服器渲染應用程式。Next.js由一間名為Zeit的新創公司開發,該開發框架原本用在該公司的SaaS產品上,因此其強健性受到肯定,有許多公司便把Next.js拿來作為通用React開發框架。

Next.js 7首要讓開發人員有感的,便是更好的生產效率以及開發體驗,這個版本由於受惠於開源前端打包工具Webpack 4,還有JavaScript編譯器Babel 7,以及官方對內部程式碼進行了最佳化,現在Next.js在開發的時候,啟動速度提升了57%。Next.js 7新增了增量編譯快取(Incremental Compilation Cache),程式碼變更後建置時間快40%。根據官方的實驗,在6.0版本,基本應用程式啟動時間為1947ms,但到了7.0只需要835ms,當基本的應用程式的程式碼變更後,6.0的建置時間為304ms,而7.0只要178ms。另外,在Next.js 7中,Webpackbar將會顯示開發時的即時回饋。

從Next.js第一版以來,就以Webpack作為打包程式碼的工具,讓社群可以重複使用豐富的套件,Next.js 7現在更新到Webpack 4,新版本的Webpack除了修正許多錯誤外,還新增了不少功能,不只支援.mjs檔案,也改善了程式碼拆分功能,並且支援更完善的樹搖Tree-shaking檢測,幫助開發者移除無用的程式碼。而且Webpack 4還支援WebAssembly,因此開發者可以執行伺服器端渲染WebAssembly。

另一個Next.js 7中提升開發效率的功臣Babel 7,在前些時日剛結束測試進入穩定版,主要特色多支援了Typescript,在Next.js中開發者可以使用@zeit/next-typescript,另外還新增片段語法(Fragment Syntax)<>,還有支援babel.config.js,官方也特別強調,開發者沒有在Next.js專案中自定義Babel配置,則沒有需要變更改動的地方。

渲染的正確性以及錯誤輔助,對於開發和調校工作至關重要,除了Next.js之前的功能顯示錯誤訊息以及堆疊追蹤外,現在React Error Overlay將會顯示更多豐富的堆疊訊息,包括伺服器與客戶端錯誤發生的精確位置,明顯標記來源以提供上下文,以及更完整的堆疊追蹤。

官方不只發表了Next.js 7,重新設計的全新官網也同時上線,其中也提供許多案例,收集了不少知名品牌與名人,使用Next.js所設計的網站,供開發者瀏覽參考。

熱門新聞

Advertisement