iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Modern Web

組裝前端開發工具箱,從 NX 入手 系列

最近剛認識了 NX 這套 monorepo 工具,就想將一直以來開發各個專案時使用到的工具做個整合,順便摸熟 monorepo 的架構,主要會以 NX + NextJS 做基礎,也想試試能不能在一個資源庫中搭配多種框架(Vue , React Native 等)。

DAY 1

建立 NX 專案

開發累積了些經驗後已經有一些用著趁手的套件,也做了一些將這些套件封裝後的工具,開了新專案的時候可以用 fork 或是將工具發布到 npm 上的方式來重用這些工具...

2023-09-02 ‧ 由 Jasper 分享
DAY 2

加入元件庫

首先是元件庫,目前用的最順手的是 MUI ,先把會用到的部分安裝。 pnpm add @mui/material @emotion/react @emotion...

2023-09-03 ‧ 由 Jasper 分享
DAY 3

架設元件庫

目前的元件還放在 ironman-nextjs 這個 app 底下,也只有這個 app 能取用到這些元件,為了讓之後的專案可以一起運用這些元件,接下來要把他們抽...

2023-09-04 ‧ 由 Jasper 分享
DAY 4

添加 Storybook

現在是把元件從專案中獨立出來了,但還只能從專案上去看到元件所呈現的結果,為了之後開發元件方便,來給元件庫加上 storybook 吧。 可以直接將剛剛建好的...

2023-09-05 ‧ 由 Jasper 分享
DAY 5

加入 Tailwind

現在有了 MUI ,還有跟其相搭配的 emotion,樣式的調整上已經很方便了,但是目前 NextJS 已經開始預設使用 React Server Compon...

2023-09-06 ‧ 由 Jasper 分享
DAY 6

整合 MUI 跟 Tailwind 樣式設定

MUI 有自己的樣式主題系統,tailwind 也有,為了防止之後再套用樣式的時候兩邊出現偏差,要來想辦法同步兩邊的設定。 首先建立好 MUI 的自訂主題。 /...

2023-09-07 ‧ 由 Jasper 分享
DAY 7

表單工具 react-hook-form

網頁常見的功能之一就是表單,像是註冊、輸入個人資料、後臺建立管理資料等都需要有表單輸入的功能,另外最好還有前端能事先對表單的輸入內容進行檢查,通過後才發給後端。...

2023-09-08 ‧ 由 Jasper 分享
DAY 8

加入 husky

為確保程式碼的格式一致,並且 typescript 的型別都有好好定義跟參照,打算加上 husky 在提交時用 prettier, eslint 跟 tsc 做...

2023-09-09 ‧ 由 Jasper 分享
DAY 9

測試工具 Jest 跟 Cypress

NX 的 Next 模板在建立時已經預設有 Jest 跟 React Testing Library ,可以直接寫測試。 import { render } f...

2023-09-10 ‧ 由 Jasper 分享
DAY 10

NX Console

NX 提供了很多的工具,相應的有很多指令,到目前為止建立 project 、添加 storybook 功能、測試,這些都有不同的指令跟選項,而且 NX 可以配合...

2023-09-11 ‧ 由 Jasper 分享