建立專案
建立專案。
1 | npm create vite |
建立 lib
資料夾,用來存放此套件相關的程式。
1 | cd vite-library-ts-example |
修改 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 -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.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 |