英文原文:Create React App 2.0: Babel 7, Sass, and More – React Blog
以下是簡要翻譯
React 本身是沒有附帶任何編譯工具的,如果沒有測試執行器、程式碼壓縮器和合理的程式碼架構,僅靠 React 是很難做出一個複雜的應用的。Create React App 從第一個版本開始,就旨在優化專案程式碼和處理構建任務與測試任務的配置。
Create React App 依賴的工具已經更新了很多次,效能大大提高,如 Babel 7、webpack 4 和 Jest 23。然而,如果讓大家去手動更新這些依賴,並且將它們整合起來,實在是一件費力的事情。因此 Create React App 花了幾個月升級到 2.0,幫大家搞定這些依賴和配置。
注意:大家不用急著升級。如果你對現有工具的效能和穩定性都很滿意,你就不需要升級到新版本!等 2.0 穩定一段時間再升級是個不錯的做法。
新特性
? 更多樣式選項:現在你可以使用 SASS 和 CSS Modules 了。
? 將 Babel 升級到 7 了,支援 React Fragment 語法。
? 將 webpack 升級到 4 了,可以更智慧地將 JS 分成多個包了。
? 將 Jest 升級到 23 了,可以用互動式的介面檢視 snapshots 了。
? 你可以使用 Apollo、Relay Modern、MDX 和其他的第三方 Babel 巨集了。
? 你可以將 SVG 作為一個 React 元件匯入了,還可以在 JSX 中使用這個 SVG。
? 你可以嘗試使用 Yarn 的 Plug'n'Play 模式了,這個模式會移除 node_modules。
? 你可以在開發模式中插入自己的代理,方便測試後端 API。
? 支援最新版 Node。
? 如果你不打算相容 IE,新版本可以輸出體積更小的 CSS 程式碼。
?支援 Service workers
如何升級
如果你沒有 eject 過,直接在 package.json 中將 "react-scripts" 的版本升級到 "2.0.3" 然後執行 npm install 即可。
如果你 eject 過就麻煩一點了,建議你先在版本控制軟體裡 revert 這個 eject,然後升級,再重新 eject。
正文完。
如果你正在學習 React,可以加我的微信 frank_fang 進行交流,暗號 React