Dark mode
ทำไมต้องใช้ tsdown
tsdown สร้างขึ้นบน Rolldown ซึ่งเป็นเครื่องมือรวมไฟล์ (bundler) ที่เขียนด้วย Rust และมีความทันสมัย ในขณะที่ Rolldown เป็นเครื่องมืออเนกประสงค์ที่ทรงพลัง tsdown นั้นก้าวไปอีกขั้นโดยการเป็นโซลูชันแบบครบวงจรสำหรับนักพัฒนาลิบรารี
ความแตกต่างหลักระหว่าง tsdown และ Rolldown
- การกำหนดค่าที่ง่ายขึ้น: tsdown ลดความจำเป็นในการกำหนดค่าที่ซับซ้อนโดยมีค่าเริ่มต้นที่เหมาะสมสำหรับการพัฒนาลิบรารี
- คุณสมบัติเฉพาะสำหรับลิบรารี: tsdown ถูกออกแบบมาเฉพาะสำหรับการสร้างลิบรารี โดยมีคุณสมบัติเช่นการสร้างไฟล์ประกาศ TypeScript อัตโนมัติและการสนับสนุนรูปแบบผลลัพธ์หลายแบบ
- พร้อมสำหรับอนาคต: tsdown จะพัฒนาต่อไปควบคู่กับ Rolldown และมีแผนที่จะเป็นพื้นฐานของโหมดลิบรารีใน Rolldown Vite
ติดตั้ง
bash
npm install tsdown --save-dev
bash
pnpm add -D tsdown
bash
yarn add -D tsdown
bash
bun add -d tsdown
tsdown.config.ts
ts
import { defineConfig } from 'tsdown'
export default defineConfig({
entry: 'src/index.ts',
})
Features
Feature | Description |
---|---|
Declaration Files | สร้างไฟล์ .d.ts อัตโนมัติสำหรับ TypeScript |
Output Format | รองรับรูปแบบผลลัพธ์หลายแบบ (ESM, CJS, etc.) |
Output Directory | กำหนดโฟลเดอร์ปลายทางสำหรับไฟล์ที่ถูก build |
Cleaning | ลบไฟล์เก่าที่ไม่จำเป็นก่อนการ build ใหม่ |
Dependencies | จัดการ dependencies ของโปรเจคอย่างอัตโนมัติ |
Watch Mode | โหมดติดตามการเปลี่ยนแปลงไฟล์และ build อัตโนมัติ |
Target | กำหนดเวอร์ชัน ECMAScript เป้าหมาย |
Platform | รองรับการ build สำหรับทั้ง Browser และ Node.js |
Tree-shaking | ลบโค้ดที่ไม่ได้ใช้ออกไป |
Source Maps | สร้าง source maps สำหรับ debugging |
Minification | ย่อขนาดไฟล์ผลลัพธ์ |
Silent Mode | โหมดที่ไม่แสดง log ในการ build |
Shims | รองรับการเพิ่ม shims สำหรับความเข้ากันได้ |
Package Exports | จัดการ exports ของ package.json อัตโนมัติ |
Unbundle | ตัวเลือกสำหรับการ build แบบไม่รวมไฟล์ |