ฉันเพิ่งเริ่มใช้ TypeScript กับ Expo ฉันได้ทำการผสานรวมของ linter / formatter ทั้งหมดแล้วtypescript-eslint
ดังนั้นฉันจึงสามารถตรวจจับข้อผิดพลาดส่วนใหญ่ระหว่างการเขียนโค้ดได้ เพื่อตรวจสอบว่ารหัสรวบรวมฉันเรียกใช้npx tsc
ทุกครั้งและแก้ไขตาม
สิ่งหนึ่งที่ฉันยังไม่เข้าใจก็คือสาเหตุที่แอปของฉันสร้างสำเร็จแม้ในขณะที่มีข้อผิดพลาดในการรวบรวมจำนวนมาก ฉันคาดหวัง (และชอบ) เพื่อดูข้อผิดพลาดหน้าจอสีแดงสำหรับทุกข้อผิดพลาดในการรวบรวมมากกว่าการสร้างแอปสำเร็จและฉันพบมันในภายหลัง ตัวอย่างเช่น,
function square<T>(x: T): T {
console.log(x.length); // error TS2339: Property 'length' does not exist on type 'T'.
return x * x;
}
เป็นข้อผิดพลาด TypeScript ทั่วไปที่ (ฉันเชื่อ?) สามารถตรวจสอบได้อย่างง่ายดายในเวลารวบรวม ฉันต้องการให้มันเกิดข้อผิดพลาดของหน้าจอสีแดงขนาดใหญ่และการสร้างล้มเหลว
ฉันค่อนข้างใหม่กับ TypeScript ดังนั้นจึงเป็นไปได้ว่าฉันขาดอะไรที่สำคัญมากไป อะไรเป็นสาเหตุของความผ่อนปรนนี้และมีวิธีบังคับใช้เช็คที่เข้มงวดกว่านี้หรือไม่?
npx tsc
แต่ฉันต้องการได้รับหน้าจอสีแดงสำหรับข้อผิดพลาด TypeScript ทุกประการเช่นเดียวกับที่ฉันทำกับข้อผิดพลาด JS ปกติเช่น const n = 23; n.reverse();
นั้นส่งผลให้หน้าจอสีแดงพร้อมข้อความ "n.reverse ไม่ใช่ฟังก์ชัน 'n.reverse ()', 'n.reverse' ไม่ได้ถูกกำหนดไว้) "