學習紀錄:優美地使用 Typescript 撰寫 React(一)

建立良好的開發與執行環境

Chunhao Weng
6 min readMar 4, 2020

這是一個嘗試在沒有足夠背景知識下,紀錄自己缺乏什麼的過程。

徐愷一直很照顧我,看著他一路變魔術、PyCon演講、賣紅茶、創業、IG煮飯、開教學課程…一直很認真的在前進。常常有什麼東西他說不會,過個週末回來,他就學會了。大概是那個時候我才理解,工具間(我們當時笑稱RD間裡面很多工具人)學習能力有多可怕。

去年為了獎品黑T-shirt,也好奇那時的雲端服務做得如何,跑去玩 Google ML Study Jam 初級。這麼多年來上了各種不同實體、虛擬課程、學習不同領域,感受最深的是,若是跟到好的老師、教材、學習流程,學起來會覺得自己好像天才,怎麼一學就懂。(當然也可能我都只挑簡單的…)

所以,我決定嘗試跟看看,第一天內容如下:

(一)安裝 VSCode 與推薦插件

(二)安裝 NVM 版本管理工具與 Node.js 執行環境

(三)安裝 Yarn 套件管理工具

(四)使用 Prettier 與 Organize Imports 優化程式碼

(五)使用 Husky 與 Lint Staged 做持續整合

(一)安裝 VSCode 與推薦插件

徐愷推薦的各種插件能夠降低認知負荷,對新手來說幫助很大,例如:

Code Spell Checker

Code Spell Checker 會標示可能有錯的英文並提供修正建議

vscode-icons

vscode-icons 會增加方便檢索的彩色 icon

把該載的載完,繼續載。

(二)安裝 NVM 版本管理工具與 Node.js 執行環境

Kk貼心的提醒Node.js跟JavaScript之間的關係,並且分享了Kuro 大大的書「 0陷阱!0誤解!8天重新認識JavaScript 」,連結導向博客來。不過我現在沒預算買書,所以在博客來連結裡發現一段話:

本書內容是由作者在2018 iT邦幫忙鐵人賽 -「重新認識JavaScript」的系列文章改寫而成,主要針對剛接觸JavaScript或者對JavaScript不是那麼熟悉的讀者,說明JavaScript的基礎與常見的誤區。

於是找到系列文章:

太棒了,以後有機會再捧場。

各種名詞說明和逐一Google之後,來安裝NVM(Node Version Manager)。

在Terminal下指令前,kk放了LMGTFY的連結,我瞬間噴笑。簡單說,就是Let Me Google That For You的縮寫,幫助沒用過Terminal的朋友們知道要Google什麼。

1. 去Google 2. 輸入問題 3. 點擊按鈕 4. 就這樣!

我沒有 ~/.bash_profile 於是只好用 touch 創一個。不過後來又裝了zsh,所以改放到 ~/.zshrc 。不熟悉或忘掉怎麼用 Terminal 的人,直接 Google Terminal Command Cheatsheet 瞬間上手。

後面的步驟可能需要會用nano或vim,一樣找Cheatsheet也瞬間把需要放進去的搞定。突然想念起Tony,當初vim也是他教我的,他邊看梅竹賽,我們邊在公司熬夜上傳客戶資料到SQL Server。

(三)安裝 Yarn 套件管理工具

突然看到沒看過的中文,想說我中文真的退步了,什麼是「腳手架」?

原來是 Scaffold ,wikipedia 真的是大家的好朋友,還沒捐款的快去。

使用npx的時候,不要忘了創建名稱,加上 demo-app 或 my-app 之類的。

(四)使用 Prettier 與 Organize Imports 優化程式碼

目前沒有在開發,手邊也沒有現成程式碼來玩,跑去看 Prettier 的網站,裡面這段寫得很好 Why Prettier ?

Kk這篇重點在優美的開發,因此團隊的格式統一很重要。突然想起 Silicon Valley (矽谷群瞎傳)裡的主角 Richard 跟 Winnie 分手的主因就是因為 Richard 用 Tabs , Winnie 用 Spaces 。

翻出來那時候討論這件事的媒體文章,很有趣:

(五)使用 Husky 與 Lint Staged 做持續整合

覺得這是很棒的知識管理方式,新加入kk團隊的開發成員,拜讀kk的文章就行,還能以文會友。

解決兩個問題:

  1. Commit前常忘掉Prettier或其他要跑的task
  2. 腳本只動staged files

很像「原子習慣」裡提到的,把新習慣綁在舊習慣後面。

自動化這麼美好,難怪寫程式這麼令人著迷,因為生命裡真的滿多東西是不能控制的。

很感恩今年回來用臉書,才能看到徐愷的這一系列文。活著的每一天不斷的優化,讓生活更符合自己想要的樣子。

如果你因為標題看到這裏,快去看看徐愷寫的系列文:

--

--

Chunhao Weng
Chunhao Weng

Written by Chunhao Weng

Random notes for personal use.

No responses yet

Write a response