2022年前端快速開發工具 - Christoph
今年我嘗試了大量的前端工具來最佳化我的[開發者體驗](/posts/principles-of-devx)。我釋出了一個令人難以置信的快速最小模板,具有合理的預設值,您可以使用它來快速啟動新專案:cpojer/vite-ts-react-tailwind-template.
該模板帶有用於前端開發的基本工具,具有最小的合理預設值,使其易於使用、快速入門,並適用於任何頂層框架。它針對效能進行了調整,不僅在實際速度方面,而且在編寫程式碼時最大限度地提高您的專注時間,從而提高您的交付速度。
Vite
Vite是我用過的最好、最快的開發伺服器。起初我是持懷疑態度的,但現在我不喜歡在任何沒有使用Vite的前端專案上工作。透過引擎蓋下的esbuild,它構建整個專案的速度比其他人熱過載一個變化的速度要快。雖然其他捆綁器可以做到快速,但Vite做到了開箱即用,幾乎不需要配置。
如果你還沒有使用它,在一個小專案上試試,不要回頭看。
Tailwind
Tailwind是另一個我最初持懷疑態度的專案。經過一年的使用,Tailwind的權衡對我來說是合理的。它將造型抽象為一個CSS變數系統,而不是直接分配CSS屬性,這種方式是天才的。如果你想要合理的預設樣式、智慧的樣式組合,以及整個專案的一致性,我推薦你使用它。它處理黑暗模式樣式的方式也很好。
我們考慮了其他的選擇。
- Emotion。如果上述標準對你不適用,比如你的公司有一個明確的設計系統,或者你有高度具體的造型需求,那麼就使用情感。
- 許多其他的CSS-in-JS庫。目前,Emotion是我最喜歡的一個。
pnpm
pnpm是贏得我心的JavaScript軟體包管理器。它是一個快樂的工具,基本上任何與包管理或monorepos有關的東西都可以使用,它的速度很快,並且在你遇到第三方包的問題時提供了逃生通道。然而,雖然我更新了許多專案使用pnpm,並向大家推薦它,但這個模板對你所使用的包管理器沒有意見。
注意:我發現,對於長期執行的專案來說,經常更新你的依賴關係是最理想的。取決於有多少自動化測試,以及專案處於哪個開發階段,我甚至可能每天更新依賴關係。這使我能夠將第三方更新中的問題隔離在較小的變化範圍內,並確保我不會落後太多,使更新成為一件麻煩事。
ESLint和Prettier
ESLint和Prettier被廣泛採用,你可能已經在使用它們。它們都是圍繞著程式碼風格而服務的,表面上看,在ESLint中執行Prettier似乎是個好主意。然而,在分析ESLint在一些專案上執行緩慢的原因時,我注意到Prettier一直在佔用ESLint總執行時間的50%左右。如果你在儲存時格式化你的文件,那麼在ESLint中同時執行Prettier是沒有意義的。
對於CI或本地測試執行,我現在把prettier --cache --check .和eslint --cache .作為單獨的命令並行執行。這兩個專案現在都支援--快取標誌,以減少它們在本地開發時的工作量。你應該使用這些標誌!
儘管有Prettier的存在,關於程式碼風格的爭論仍然存在,比如如何對ES模組匯入進行排序。手動對ES模組進行排序是很浪費時間的,而且通常會導致你在寫程式碼時失去上下文,然後不得不瀏覽檔案的頂部來修改你的匯入語句。我喜歡使用@trivago/prettier-plugin-sort-imports外掛,它可以自動對新的匯入進行排序,並與TypeScript的自動匯入功能完美配合。同樣地,prettier-plugin-tailwindcss也會自動對你程式碼中的Tailwind類進行排序。
最後,我的預設ESLint配置和Prettier配置是為一致性而設計的。我對一些諸如ES模組匯入的具體順序沒有意見,但我確實關心在一個專案中擁有一個一致的順序。
npm-run-all
我喜歡在本地開發時執行所有的測試和檢查。npm-run-all1將你的指令碼並行化,如果有一個檢查失敗就立即失敗,確保不會拖累你。
"scripts": { "build": "vite build", "dev": "vite dev", "format": "prettier --write .", "lint:format": "prettier --cache --check .", "lint": "eslint --cache .", "test": "npm-run-all --parallel tsc:check lint lint:format", "tsc:check": "tsc" } |
Node.js中的ECMAScript模組
Node.js中的ES模組(ESM)在孤立的情況下是很好的,但生態系統的整合和遺留的第三方包使ESM很難使用。我花了太多的時間試圖弄清楚如何在不破壞一切的情況下用Node使用ESM,而不是用神秘的錯誤資訊。說真的,我至少嘗試了五次,但都沒有成功,而且還做了一些取捨,我不願意做。以下是我的要求。
- 使用本地ESM。
- 快速的JS編譯。
- 當檔案發生變化時,立即重新啟動指令碼。
VS程式碼擴充套件
這裡有四個擴充套件,讓我在流程狀態下停留的時間更長,尤其是All Autocomplete 和 Error Lens。
code --install-extension bradlc.vscode-tailwindcss code --install-extension dbaeumer.vscode-eslint code --install-extension esbenp.prettier-vscode code --install-extension usernamehw.errorlens |
如果你想了解更多的VS Code專業術語,我最近剛剛寫了關於我最喜歡的VS Code擴充套件。
前端開發從未像現在這樣有趣。每當有人創造出改變遊戲規則的工具時,我仍然感到興奮。上面的許多工具都給我留下了深刻的印象,它們是如此的快速和令人愉快。我敢說你能給我展示更快、更好的工具
相關文章
- Laravel 快速開發工具Laravel
- 前端開發快速入門前端
- [?]前端開發工具推薦前端
- 前端-選擇開發工具前端
- WebStorm for Mac(前端開發工具)WebORMMac前端
- GitLab & Docker 前端開發工具鏈GitlabDocker前端
- 提升前端開發效率的工具前端
- web前端開發工具有哪些?8個好用的web前端開發常用工具Web前端
- Java爬蟲快速開發工具:uncsJava爬蟲
- Webpack in Node:前端模板開發工具TDSWeb前端
- 前端技術開發工具彙總前端
- [譯] 5 款工具助力 React 快速開發React
- LeaRun.Java表單快速開發工具Java
- 工具武裝的前端開發工程師前端工程師
- 前端開發者如何用腦圖快速上手linux前端Linux
- Web前端培訓:有哪些好用的前端開發工具呢?Web前端
- 長沙WEB前端培訓講解:前端快速開發外掛emmetWeb前端
- 提高企業開發效率的優質工具:快速開發平臺
- 介紹一個軟體開發工具,堪稱快速開發神器
- 前端靜態頁面快速迭代工具前端
- bio: 一站式前端開發工具前端
- Web前端開發設計常用軟體工具Web前端
- 用vue快速開發app的腳手架工具VueAPP
- Java爬蟲快速開發工具uncs的部署攻略Java爬蟲
- 使用Python快速開發API和Web的工具:ApiLogicServerPythonAPIWebServer
- 解放開發者!3款工具實現快速K8S開發K8S
- 強大asp.net智慧開發工具,力軟快速開發平臺ASP.NET
- 好程式設計師分享Web前端開發工具程式設計師Web前端
- chrome 開發者工具——前端實用功能總結Chrome前端
- 牆裂推薦:Web前端開發必備工具Web前端
- 測試開發之前端篇-瀏覽器開發者工具使用(TODO)前端瀏覽器
- 使用js開發一個快速開啟前端專案的alfred外掛JS前端Alfred
- 偏前端開發相關好用的工具(長期更新)前端
- 前端開發工具包-WijmoJS,部署授權詳解前端JS
- 提升前端開發效率的首 選工具——WebStorm for Mac/win前端WebORMMac
- 這四款好用的前端開發工具,不要錯過!前端
- 使用前端開發工具包WijmoJS - 建立自定義DropDownTre前端JS
- OA極速配置工具,LR智慧化快速開發平臺