Tôi đang bắt đầu một dự án mới bằng cách sử dụng khung công tác ASP.NET-MVC. Tôi muốn sử dụng TypeScript trong dự án này thay cho JavaScript. TypeScript có thể dễ dàng được hỗ trợ bởi Visual Studio nhưng dường như không (hoàn toàn) tương thích với các tệp dao cạo .cshtml. Tôi có thể tạo các lớp của tôi trong tệp .ts và gọi các lớp đó trong tệp .cshtml của tôi, vấn đề là khi tôi chuyển các tham số cho đối tượng trong tệp .cshtml TypeSafety bị bỏ qua và hàm chạy như thể loại không bao giờ được xác định.TypeScript bên trong .cshtml Tập tin Razor
.ts nộp
export class SomeClass {
name: number;
constructor(public tName: number) {
this.name = tName;
}
public sayName() {
alert(this.name);
}
}
.cshtml nộp
var instance = new SomeClass("Timmy");
instance.sayName();
Như bạn thấy, tôi đi qua một chuỗi các constructor mặc dù tôi xác định rõ ràng các tham số để chỉ chấp nhận các số, nhưng TypeSafely bị bỏ qua và TypeScript/JavaScript thực thi như thể không có vấn đề gì.
Cả hai loại tệp đều do Microsoft phát minh nên tôi hơi ngạc nhiên khi chúng không thân thiện hơn với nhau. Đây không phải là kết thúc của thế giới, ít nhất tôi vẫn có thể sử dụng lập trình hướng đối tượng, tôi chỉ tò mò nếu có ai khác có kinh nghiệm này và có thể có thể cho tôi một lời giải thích ngắn gọn.
Tôi nghĩ tsc sẽ biên dịch (Transpile) mã với phần mở rộng '.ts'. Liệu tôi có sai ? – Shyju