javascript - วิธีใช้ @ts-check ใน VS Code ข้ามหลายไฟล์กับเว็บไซต์ที่ไม่ใช้โมดูล?
ฉันกำลังพยายามสร้างเว็บไซต์ที่เรียบง่ายมากโดยมี:
- ไฟล์ JavaScript ไม่กี่ไฟล์ที่ถูกรวมโดยตรงใน
index.html - ไม่มีโมดูล/คำสั่ง
import - ไม่มีระบบการรวมไฟล์หรือขั้นตอนการคอมไพล์โดยตรง
- ไม่จำเป็นต้องใช้เซิร์ฟเวอร์ในการรัน (ดังนั้น
index.htmlสามารถดับเบิลคลิกโดยไม่มีปัญหา CORS)
แต่ฉันอยากจะสามารถใช้ @ts-check ของ TypeScript หรือ jsconfig.json ภายใน VS Code และให้มันเข้าใจขอบเขตทั่วโลกของโค้ดในไฟล์ JavaScript แต่ฉันพบว่ามันไม่สามารถกระโดดไปยังคำจำกัดความระหว่างไฟล์ JavaScript ได้ (หรืออย่างน้อยก็ไม่สม่ำเสมอ?)
มีวิธีบอกตัวคอมไพล์ TypeScript ไหมว่าทุกไฟล์ JavaScript อยู่ในสโคประดับโลกด้วยกัน และให้ใช้ลำดับการประเมินผลที่ถูกต้องจาก index.html?
คำตอบ #1
ใช้ "js/ts.implicitProjectConfig.checkJs": true ในการตั้งค่า VSC (หรือ // @ts-check ในไฟล์) และอ้างอิงไฟล์อื่นด้วย /// <reference path="[...]" />
/// <reference path="other.js" />
somethingDefinedInOtherJS; // no error, f12 go to definition works
ดูเอกสารคำสั่ง Triple-Slash สำหรับ TS เพื่อข้อมูลเพิ่มเติม
