Tôi có một mô-đun phụ thuộc vào Backbone
. Tôi có một định nghĩa backbone.d.ts
nhưng nguyên cảo dường như không muốn để biên dịch mô-đun của tôi trừ khi tôiNhập mô-đun TypeScript chỉ sử dụng định nghĩa môi trường xung quanh để sử dụng trong amd
import Backbone = module("backbone")
thực trỏ đến một mô-đun xương sống có giá trị như trái ngược với một tập tin định nghĩa. Tôi đang sử dụng các mô-đun tải AMD và có một shim requirejs được định nghĩa cho xương sống.
Có cách giải quyết nào khác ngoài việc tạo định nghĩa mô-đun backbone.ts không?
Cập nhật: Tác dụng phụ của giải pháp là mã như vậy không còn hoạt động vì mô-đun không còn tồn tại nữa. Nó cần phải tồn tại vì shim requirejs. Cách giải quyết duy nhất tôi biết là có hai tệp .d.ts. Một tệp cho tệp sử dụng xương sống dưới dạng tệp nhập không bao gồm bit declare module
. Cách khác để sử dụng một số /// <reference
bao gồm dòng declare module
.
/// <reference path="../dep/backbone/backbone.d.ts" />
interface IApi {
version: number;
Events: Backbone.Events;
}
Tôi chỉ cố gắng này thật trong Visual Studio và tôi tạo lại vấn đề của bạn. Hãy để tôi xem nếu tôi có thể sửa lỗi này! – Fenton
Trong thử nghiệm của tôi, tôi đã tìm thấy Tuyên bố môi trường xung quanh phải bỏ qua khối 'module', giống như một mô-đun bình thường trong AMD hoặc CommonJS. – Fenton
Tuyệt vời, cảm ơn! – ryan