คำตอบนี้จะถือว่าคุณมี JavaScript บางอย่างที่คุณไม่ต้องการที่จะแปลง typescript .js
แต่คุณต้องการที่จะได้รับประโยชน์จากการตรวจสอบชนิดที่มีการเปลี่ยนแปลงน้อยที่สุดเพื่อคุณ .d.ts
ไฟล์มากเช่น C หรือไฟล์ส่วนหัว C ++ โดยมีวัตถุประสงค์คือเพื่อกำหนดอินเตอร์เฟซ นี่คือตัวอย่าง:
mashString.d.ts
/** Makes a string harder to read. */
declare function mashString(
/** The string to obscure */
str: string
):string;
export = mashString;
mashString.js
// @ts-check
/** @type {import("./mashString")} */
module.exports = (str) => [...str].reverse().join("");
main.js
// @ts-check
const mashString = require("./mashString");
console.log(mashString("12345"));
ความสัมพันธ์ที่นี่คือ: mashString.d.ts
กำหนดอินเทอร์เฟซmashString.js
ใช้อินเทอร์เฟซและmain.js
ใช้อินเทอร์เฟซ
ในการรับการตรวจสอบประเภทเพื่อใช้งานคุณเพิ่มลง// @ts-check
ใน.js
ไฟล์ของคุณ แต่นี่เป็นการตรวจสอบเท่านั้นที่main.js
ใช้อินเทอร์เฟซอย่างถูกต้อง เพื่อให้แน่ใจว่าmashString.js
ดำเนินการอย่างถูกต้องเราเพิ่ม/** @type {import("./mashString")} */
ก่อนการส่งออก
คุณสามารถสร้าง.d.ts
ไฟล์เริ่มต้นโดยใช้tsc -allowJs main.js -d
จากนั้นแก้ไขตามต้องการด้วยตนเองเพื่อปรับปรุงการตรวจสอบประเภทและเอกสาร
mashString
ในกรณีส่วนใหญ่การดำเนินการและอินเตอร์เฟซที่มีชื่อเดียวกันที่นี่ แต่คุณสามารถมีการใช้งานทางเลือก ยกตัวอย่างเช่นเราสามารถเปลี่ยนชื่อmashString.js
ไปและมีทางเลือกreverse.js
encryptString.js