การสร้างโปรแกรม TypeScript ด้วย API
เริ่มต้นโปรแกรมคอมไพเลอร์และเข้าถึงตัวตรวจสอบชนิด
การสร้างโปรแกรม TypeScript ด้วย API เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
Compiler API คืออะไร
TypeScript เปิดให้เข้าถึงส่วนภายในของคอมไพเลอร์ผ่านแพ็กเกจ npm typescript คุณสามารถสร้างโปรแกรม ตรวจสอบตัวตรวจสอบชนิดข้อมูล และวิเคราะห์ไฟล์ต้นฉบับด้วยโปรแกรมได้
import ts from "typescript";
// Use ts.createProgram to startการติดตั้งแพ็กเกจ typescript
ติดตั้ง TypeScript เป็นการพึ่งพาปกติ ไม่ใช่เพียง devDependency เมื่อใช้ Compiler API ในเครื่องมือของคุณ
npm install typescript
# Also install types if needed
npm install --save-dev @types/nodeการสร้างโปรแกรม
ts.createProgram รับอาร์เรย์ของเส้นทางไฟล์เริ่มต้นและตัวเลือกคอมไพเลอร์ แล้วคืนออบเจ็กต์ Program
import ts from "typescript";
const program = ts.createProgram(["src/index.ts"], {
target: ts.ScriptTarget.ES2020,
module: ts.ModuleKind.CommonJS,
strict: true,
});การเข้าถึงไฟล์ต้นฉบับ
ใช้ program.getSourceFiles() เพื่อรับไฟล์ทั้งหมดในการคอมไพล์ หรือใช้ getSourceFile สำหรับเส้นทางเฉพาะ
const sourceFiles = program.getSourceFiles();
sourceFiles.forEach(sf => {
if (!sf.isDeclarationFile) {
console.log(sf.fileName);
}
});การรับตัวตรวจสอบชนิดข้อมูล
ตัวตรวจสอบชนิดข้อมูลเป็นแกนหลักของการวิเคราะห์ TypeScript รับตัวตรวจสอบนี้ได้ด้วย program.getTypeChecker()
const checker = program.getTypeChecker();
// Now use checker to resolve types, symbols, etc.การอ่านข้อมูลวินิจฉัย
ดึงข้อมูลวินิจฉัยของคอมไพเลอร์ ซึ่งประกอบด้วยข้อผิดพลาดและคำเตือน เพื่อสร้างเครื่องมือตรวจสอบแบบกำหนดเอง
const diagnostics = ts.getPreEmitDiagnostics(program);
diagnostics.forEach(d => {
const msg = ts.flattenDiagnosticMessageText(d.messageText, "
");
console.log(msg);
});การอ่าน tsconfig.json
ใช้ ts.readConfigFile และ ts.parseJsonConfigFileContent เพื่อโหลดตัวเลือกคอมไพเลอร์จากไฟล์ tsconfig
const cfgFile = ts.readConfigFile("tsconfig.json", ts.sys.readFile);
const parsed = ts.parseJsonConfigFileContent(
cfgFile.config,
ts.sys,
process.cwd()
);
const program2 = ts.createProgram(parsed.fileNames, parsed.options);การแก้ไขสัญลักษณ์
ตัวตรวจสอบชนิดข้อมูลสามารถแก้ไขสัญลักษณ์ ซึ่งเป็นชื่อที่อ้างถึงการประกาศ เพื่อดูว่าตัวระบุที่กำหนดอ้างถึงสิ่งใด
const sf = program.getSourceFile("src/index.ts")!;
ts.forEachChild(sf, node => {
if (ts.isVariableStatement(node)) {
const symbol = checker.getSymbolAtLocation(
node.declarationList.declarations[0].name
);
console.log(symbol?.getName());
}
});การสร้างผลลัพธ์
เรียก program.emit() เพื่อสร้าง JavaScript และไฟล์การประกาศ เช่นเดียวกับการเรียกใช้ tsc
const emitResult = program.emit();
const exitCode = emitResult.emitSkipped ? 1 : 0;
process.exit(exitCode);โปรแกรมแบบเพิ่มทีละส่วน
ใช้ ts.createIncrementalProgram เพื่อวิเคราะห์ซ้ำได้เร็วขึ้น โดยนำสถานะการสร้างก่อนหน้ากลับมาใช้ใหม่
// Incremental compilation tracks which files changed
// to avoid reprocessing unchanged filesสรุป: พื้นฐาน Compiler API
Compiler API ของ TypeScript ช่วยให้คุณสร้างโปรแกรม ตรวจสอบไฟล์ต้นฉบับ สอบถามชนิดข้อมูลผ่านตัวตรวจสอบ และสร้าง JavaScript ได้ทั้งหมดจากโค้ด Node.js
ตรวจสอบอย่างรวดเร็ว
เมธอดใดคืนตัวตรวจสอบชนิดข้อมูลของ TypeScript จากโปรแกรม
สิ่งที่คุณได้เรียนรู้
Compiler API ของ TypeScript เริ่มต้นด้วย ts.createProgram จากโปรแกรมนี้ คุณสามารถเข้าถึงไฟล์ต้นฉบับ ตัวตรวจสอบชนิดข้อมูล ข้อมูลวินิจฉัย และผลลัพธ์ที่สร้างขึ้นได้ ซึ่งเป็นพื้นฐานสำหรับการสร้างเครื่องมือตรวจโค้ด เครื่องมือสร้างโค้ด และเครื่องมือวิเคราะห์
คำถามที่พบบ่อย
บทเรียน “การสร้างโปรแกรม TypeScript ด้วย API” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสร้างโปรแกรม TypeScript ด้วย API” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสร้างโปรแกรม TypeScript ด้วย API”
เริ่มต้นโปรแกรมคอมไพเลอร์และเข้าถึงตัวตรวจสอบชนิด คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การสร้างโปรแกรม TypeScript ด้วย API” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม
ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การสร้างโปรแกรม TypeScript ด้วย API
- การท่องผ่าน AST ด้วยตัวเยี่ยมชม
- ตัวแปลงแบบกำหนดเองและการสร้างโค้ด
- การสร้างเครื่องมือตรวจสอบโค้ดอย่างง่าย