2015-06-14 34 views
7

Dường như trình biên dịch nguyên cảo luôn bao gồm lib.d.ts hay lib.es6.d.ts (tùy thuộc vào mục tiêu biên dịch).lib.core.d.ts Sử dụng nguyên cảo thay vì lib.d.ts

Trong ứng dụng của chúng tôi, chúng tôi có một lớp học WebSocket đã được xác định trong lib.d.ts. Chúng tôi đang chạy ứng dụng của chúng tôi dưới Node.js chứ không phải trong trình duyệt web, vì vậy chúng tôi thực sự không cần tất cả các định nghĩa từ lib.d.ts. Thay vào đó, lib.core.d.ts sẽ là đủ cho chúng tôi (và sẽ giải quyết xung đột WebSocket tất nhiên).

Có thể nói trình biên dịch TypeScript sử dụng tệp định nghĩa kiểu chung nào không?

Trả lời

6

Sử dụng --noLib compiler option để loại trừ lib.d.ts và sau đó thêm tham chiếu đến lib.core.d.ts trong tệp nguồn của bạn.

Tương đương với tsconfig.json sẽ là "noLib": true.

Nếu bạn chỉ cần định nghĩa Node.js, bạn cũng có thể sử dụng Definitely Typed one.

0

Một giải pháp khác có thể là sử dụng lib như core-js. trong đó có tất cả các polyfils cần thiết cho ES6. Lưu ý: bạn cũng sẽ cần phải thêm tệp tsd lõi-js vào tsds của bạn.

Hy vọng điều đó sẽ hữu ích.

Các vấn đề liên quan