ค้นหาเว็บไซต์

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 เพื่อข้อมูลเพิ่มเติม

บทความที่เกี่ยวข้อง