建立專案
建立專案。
1  | npm create vite  | 
建立 lib 資料夾,用來存放此套件相關的程式。
1  | cd vite-library-ts-example  | 
修改 tsconfig.json 檔。
1  | {  | 
安裝 TypeScript 相關套件。
1  | npm i @types/node -D  | 
安裝檢查工具
安裝 ESLint 相關套件。
1  | npm i eslint @eslint/js typescript-eslint globals @types/eslint__js -D  | 
建立 eslint.config.js 檔。
1  | import pluginJs from '@eslint/js';  | 
修改 package.json 檔。
1  | {  | 
執行檢查。
1  | npm run lint  | 
建立單元測試
安裝 Vitest 相關套件。
1  | npm i vitest -D  | 
建立 lib/index.ts 檔。
1  | const greet = (): string => {  | 
建立 lib/index.test.ts 檔。
1  | import { expect, test } from 'vitest';  | 
修改 package.json 檔。
1  | {  | 
執行測試。
1  | npm run test  | 
實作
修改 lib/index.ts 檔。
1  | const greet = (): string => {  | 
執行測試。
1  | npm run test  | 
編譯
安裝 vite-plugin-dts 套件,用來產生定義檔。
1  | npm i vite-plugin-dts -D  | 
建立 vite.config.ts 檔。
1  | import path from 'path';  | 
建立 tsconfig.build.json 檔。
1  | {  | 
修改 package.json 檔。
1  | {  | 
執行編譯。
1  | npm run build  | 
檢查 dist 資料夾。
1  | tree dist  | 
使用
修改 src/main.ts 檔,透過 ES 模組使用套件。
1  | import { greet } from '../dist'; // 引入編譯過的模組  | 
修改 index.html 檔,透過 UMD 模組使用套件。
1  | <!doctype html>  | 
啟動服務。
1  | npm run dev  | 
輸出如下:
1  | Hello, World!  | 
發布
登入 npm 套件管理平台。
1  | npm login  | 
測試發布,查看即將發布的檔案列表。
1  | npm publish --dry-run  | 
發布套件。
1  | npm publish --access=public  |