前言
本文實作一個名為 stryle
的函式庫,用來轉換文字風格,以下以 toTitleCase
為例。
建立專案
建立專案。
1 | npm create vite |
建立 lib
資料夾,用來存放此套件相關的程式。
1 | cd stryle |
修改 tsconfig.json
檔。
1 | { |
安裝 TypeScript 相關套件。
1 | npm i @types/node vite-plugin-dts -D |
安裝檢查工具
安裝 ESLint 相關套件。
1 | npm i eslint @eslint/js typescript-eslint globals @types/eslint__js @stylistic/eslint-plugin -D |
建立 eslint.config.js
檔。
1 | import pluginJs from '@eslint/js'; |
修改 package.json
檔。
1 | { |
執行檢查。
1 | npm run lint |
實作
修改 tsconfig.json
檔。
1 | { |
進到 lib
資料夾。
1 | cd lib |
建立 capitalize.ts
檔。
1 | const capitalize = (str: string): string => { |
建立 toTitleCase.ts
檔。
1 | import capitalize from './capitalize'; |
單元測試
安裝 Vitest 相關套件。
1 | npm i vitest -D |
修改 package.json
檔。
1 | { |
建立 capitalize.test.ts
檔。
1 | import { expect, test } from 'vitest'; |
建立 toTitleCase.test.ts
檔。
1 | import { describe } from 'node:test'; |
執行測試。
1 | npm run test |
編譯
建立 vite.config.ts
檔。
1 | import path from 'path'; |
建立 tsconfig.build.json
檔。
1 | { |
修改 package.json
檔。
1 | { |
執行編譯。
1 | npm run build |
檢查 dist
資料夾。
1 | tree dist |
使用
透過 ES 模組使用
修改 src/main.ts
檔,透過 ES 模組使用套件。
1 | import { toTitleCase } from '../dist'; |
啟動服務。
1 | npm run dev |
輸出如下:
1 | Hello, World! |
透過 UMD 模組使用
修改 index.html
檔。
1 |
|
啟動服務。
1 | npm run dev |
輸出如下:
1 | Hello, World! |
發布
登入 npm
套件管理平台。
1 | npm login |
測試發布,查看即將發布的檔案列表。
1 | npm publish --dry-run |
發布套件。
1 | npm publish --access=public |