建立專案
建立專案。
| 1 | npm create vite | 
建立 lib 資料夾,用來存放此套件相關的程式。
| 1 | cd markdown2html | 
修改 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 | 
實作
修改 tsconfig.json 檔,添加 ~ 路徑別名。
| 1 | { | 
進到 lib 資料夾。
| 1 | cd lib | 
實作功能
安裝依賴套件。
| 1 | npm i --save-peer marked dompurify | 
在 lib/converter 資料夾,建立 Converter.ts 檔。
| 1 | import createDOMPurify, { DOMPurify, Config as DOMPurifyConfig } from 'dompurify'; | 
匯出模組
在 lib/converter 資料夾,建立 index.ts 檔。
| 1 | import Converter from './Converter'; | 
在 lib 資料夾,建立 index.ts 檔。
| 1 | import Converter from './converter'; | 
單元測試
安裝 Vitest 相關套件。
| 1 | npm i vitest -D | 
修改 package.json 檔。
| 1 | { | 
在 lib/converter 資料夾,建立 Converter.test.ts 檔。
| 1 | import DOMPurify from 'dompurify'; | 
執行測試。
| 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 | 
使用
透過 ES 模組使用
修改 src/main.ts 檔,透過 ES 模組使用套件。
| 1 | import { Converter } from '../dist'; | 
啟動服務。
| 1 | npm run dev | 
輸出如下:
| 1 | Hello, World! | 
透過 UMD 模組使用
修改 index.html 檔。
| 1 | 
 | 
啟動服務。
| 1 | npm run dev | 
輸出如下:
| 1 | <h1>Hello, World!</h1> | 
發布
登入 npm 套件管理平台。
| 1 | npm login | 
測試發布,查看即將發布的檔案列表。
| 1 | npm publish --dry-run | 
發布套件。
| 1 | npm publish --access=public |