2016-09-01 20 views
31

Trong một số trường hợp, typings được sử dụng để xử lý các định nghĩa TypeScript (ví dụ: angular/angular2-seed).typings vs @types Phạm vi NPM

Trong các trường hợp khác phạm vi NPM @types gói được sử dụng không có typings tham gia (ví dụ: AngularClass/angular2-webpack-starter).

Sự khác biệt thực tế giữa chúng là gì? Liệu một trong số họ có mang lại lợi ích cho việc phát triển TypeScript mà cái kia không?

Trả lời

49

@types là cách mới để cài đặt các định nghĩa trong bản 2.0. Nó thống nhất việc quản lý các định nghĩa và các gói. Vì vậy, bạn không cần nhiều công cụ và tập tin cấu hình. Chỉ cần npm và package.json thay vì phải có npm, package.json, typings, typings.json. Về cơ bản nó làm cho việc cài đặt và quản lý các định nghĩa dễ dàng hơn nhưng nó cũng giống như việc đánh máy.

Bạn có thể đọc thêm tại đây: https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

+0

Câu trả lời hay! Tôi có một câu hỏi khác: Ap trên DefinitelyTyped, nếu muốn sử dụng khai báo kiểu thì nên đặt một dòng '/// ' ở phía trước tệp để chúng ta có thể nhập nó. Nhưng từ blog msdn, không cần dòng tham chiếu này nữa. Vì vậy, chúng ta có thực sự cần dòng này để sử dụng khai báo kiểu không? – zgcharley

+0

@zgcharley Không phải trong 2.x. DefinitelyTyped [không nói gì như vậy] (https://github.com/DefinitelyTyped/DefinitelyTyped#npm) .TS là đứa con tinh thần của Microsoft, họ biết họ nói gì. – estus