2016-05-31 26 views
90

Yazarak paketleri içeren bir npm kuruluş numarası @types var, ancak üzerinde herhangi bir belge bulamadık. Bunlar nasıl kullanılmalı?npm @types org paketlerinde TypeScript yazımları

typings aracıyla kullanılması gerekiyor mu? Eğer öyleyse, bunları nasıl kurabilirim? Örneğin, bir @types/openlayers paketi var, ancak typings search npm:openlayers hiçbir şey döndürmez.

Yazma aracından ayrı olarak kullanılması mı gerekiyor? Örneğin. npm ile doğrudan yüklendi?

+6

Bu soru için teşekkür ederiz. –

cevap

78

TypeScript 2.0'dan itibaren, yazım hataları artık gerekli değildir. Npm kuruluşu, bir geliştirici ekibini kurmaya yönelik bir varlıktır. Microsoft'un @tim organizasyonunu npm olarak kurduğuna ve TypeScript geliştirici ekibini kuruluşa eklediğine inanıyorum. @ Types organizasyonunun altındaki paketler, docs'a göre tip-yayıncı aracını kullanarak DefinitelyTyped'den otomatik olarak yayınlanır. Ayrıca

, senin paketlere types eklemek için başka bir yolu yoktur için:

sizin package.json olarak

paketiniz bir ana .js dosya varsa, ana belirtmek gerekir package.json dosyanızda da dosya. Paketlenmiş bildirim dosyasına işaret etmek için types özelliğini ayarlayın. "typings" alan "types" ile eşanlamlıdır ve de kullanılabilir ki

{ 
    "name": "awesome", 
    "author": "Vandelay Industries", 
    "version": "1.0.0", 
    "main": "./lib/main.js", 
    "types": "./lib/main.d.ts" 
} 

Not: Örneğin.

Ayrıca Ana bildirim dosyası index.d.ts adlandırılır ve (sonraki index.js kadar) paketin kökünde yaşayan eğer bunu yapmak için tavsiye edilir olsa, "types" özelliğini işaretlemek gerekmez unutmayın.arama tipleri Çoğunlukla

, tür bildirimi paketleri hep NPM üzerinde paket adıyla aynı isme sahip olabilir ama @ türleri/öneki, ancak gerekirse şunları yapabilirsiniz gerektiğini İlişkin

Favori kitaplığınızın paketini bulmak için https://aka.ms/types'a bakın.

itibaren

-http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html

Ama npm search @types/openlayers yaptım, ben herhangi bir sonuç alamadım. Ancak web arayüzünden arama yapmak bana sonuçları döndürdü. Yani, npm search kuruluşlar arasında arama yapmıyor.

+0

Harika cevap! Küçük düzenlemeler güzel olurdu, ancak bu mevcut durumu açıklamak için çok daha iyi bir iş. –

+0

'' '' '' '' 'özelliği altında' 'package.json''nuzda tek bir dosya belirttiğinizden, ** paketlenmiş beyan dosyası ** hakkında konuştuğunuzu farkettim. Bunu, gulp gibi otomatik bir sistemde başarmanın en kolay yolu ne olurdu? – Nicky

6

Bu, Typescript 2.0 uygulamasında kullanıma sunulan bir özellik olacaktır. Bu UMD Modülleri/Kütüphaneleri ve bunların tanımları için tip desteği sağlar.

Ortam yazımlarıyla ilgili sorunları daha iyi anlamak için https://github.com/Microsoft/TypeScript/issues/7125#issuecomment-210182488 adresine bakın. Typescript blogda

+0

Teşekkür ederiz! Bu yararlıdır, ancak @Hunpes npm org konusunu ele alan GitHub sorununu göremiyorum. UMD '///

37

Duyuru Bu cevap verir: The Future of Declaration Files

Özet:

@types npm organizasyon npm tip tanımları elde içindir. Bu tür tanımlarını kullanmak, TypeScript 2.0'da bir özellik geliyor.

Bu, typings ve tsd gibi güncel projeleri/araçları değiştirir, ancak bunlar bir süredir desteklenmeye devam edecektir.

+1

Hey Ron, Bu yüzden bu kurulumu yapmaya çalışıyorum, ama VSCode'un kurulu olduğunu fark etmiyor gibi görünüyor. 'Core-js' w/'npm i @ types/core-js --save' gibi bir şey kullandıktan sonra, klasörde olduğunu görebiliyorum, ancak proje yine de işler için hata atar. Yapmam gereken başka bir şey var mı? Tsconfig'in @types veya bir şeyden haberdar olmasına izin vermem gerekir mi? Sean'ın dediği gibi, henüz türler için hiçbir dokümantasyon yok :( –

+0

@MarkPieszak VSCode'un TS2.0 kullanıyor olduğundan emin olmalısınız.Yerel olarak yerel olarak nasıl yükleneceğini ve VSCode'da nasıl kullanılacağını öğrenin: https://github.com/Microsoft/TypeScript/wiki/Nightly-drops –

+0

Yup o oldu @ nino.porcino teşekkür ederim :) 'tsdk 'biz en azından bazı ekip projeleri için (biz de güncellemekte olduğumuz TS –