iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0

Day 12 建立一個新的 Git 專案

今天筆者打算來分享自己從頭建立這個專案的一些過程,以及筆者自己的一些習慣。

透過 GitHub 建立專案

筆者習慣建立專案都從 GitHub 上面先建立,然後建立完成後再透過 Git 指令 clone 到本機。

在 GitHub 上面建立專案有幾個好處:

  • 可以減少本地端使用的指令數量,只需要 git clone 就可以省掉 git initgit remote addgit push 等指令。
  • 可以幫專案選擇開源的 .gitignore 樣板,在此我選 Node
  • 可以自動產生開放原始碼授權的 LICENCE,在此我選 MIT License

把專案 clone 到本機

在 GitHub 上面建立專案後,就可以把專案 clone 到本機了。

$ git clone git@github.com:taichunmin/chameleon-ultra.js.git

接下來我會使用 Node.js 的套件管理器 yarn 來設定 package.json

$ yarn init -y

安裝專案所需的相依性套件

然後就是安裝一些專案所需的相依性套件,但因為數量很多,文章中只會簡單介紹比較特別的一些,詳細的清單請參考 package.json

lodash

lodash 是一個提供很多好用輔助函式的套件,筆者現在幾乎已經是每個專案都必裝這個套件了,但可惜這個套件沒有 Promise 相關的輔助函式。

typescript

在 Side Project 就是可以勇於嘗試一些自己不熟悉的東西,為了要增加自己對 TypeScript 掌握度,這個專案我決定使用 TypeScript 來開發,所以安裝了不少 TypeScript 所需的相依性套件。

rollup

這個專案預計會把 TypeScript 轉換成三種格式的 JavaScript,分別是瀏覽器的 iife、Node.js 的 cjs 以及 module 的 mjs,類似的打包工具有很多,我在這專案內選擇使用 rollup

pug

這個專案除了 TypeScript 之外,我也計畫要做一些網頁放到 GitHub Pages 上面,除了作為範例之外,同時也是為了開發自己需要的 GUI 介面。在這個專案我選擇我比較熟悉的 pug 來開發網頁,這是 Express.js 預設使用的樣板引擎。

文件產生工具

如果你希望一個開源專案能夠被更多人使用,那麼你就會需要幫它寫良好的文件,除了一般的教學文件會用 Markdown 來寫之外,我還打算從程式碼中自動產生 Reference 網頁,目前預計使用 TypeDoc 來產生,也算是給我自己一個練習 TypeDoc 的機會。

eslint

這個相依性套件可以自動檢查及修正一些程式語法上的錯誤,以及程式碼的 Coding Style。

jest

這個相依性套件是一個單元測試框架,我同時也會在 GitHub Actions 自動執行單元測試,確保我有寫測試的程式碼運作正常。

dotenv

可以自動從 .env 檔案中讀取設定,然後放到環境變數 process.env 的套件,這適合存放不同環境及不同開發者的設定,以及一些不太適合直接放到程式碼內的機密資料。


上一篇
Day 11 中國魔術卡
下一篇
Day 13 增加開發者體驗的設定
系列文
用 Web Serial/Bluetooth 來控制 ChameleonUltra 硬體30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言