Doğrudan bir javascript projesine (package.json
numaralı telefondan) yazı tipi tanımları (.d.ts
dosyaları) eklemenin bir yolu var mı? Bunun için herhangi bir belge bulamıyorum.Bir npm paketine bir kod tanım dosyası nasıl eklenir?
cevap
TypeScript Handbook, NPM Paketine yazım ekleme hakkında bir sayfa var. Ben kopyalayıp buraya yapıştırın edeceğiz:
typings NPM node.js modülü çözünürlük algoritması takip ederek Düğüm modül adlarını çözümler
typescript derleyici Paketleri için. TypeScript ayrıca npm paketleriyle birlikte gelen yazımları da yükleyebilir. Derleyici aşağıdaki kural kümesini kullanarak "foo" modülü için yazım hataları keşfetmeye çalışacaktır:
Uygun paket klasöründe bulunan package.json dosyasını yüklemeye çalışın (node_modules/foo /). Varsa, "yazım" alanında açıklanan yazım dosyasının yolunu okuyun. Örneğin, aşağıdaki package.json içinde, derleyici bir dosya adında index.d.ts yüklemek için
{
"name": "foo",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/foo.js",
"typings": "./lib/foo.d.ts"
}
deneyin node_modules/foo/lib/foo.d.ts de typings çözecektir paket klasöründe (node_modules/foo /) bulunur - bu dosya paket için yazım içermelidir.
Modül çözünürlüğü için kesin algoritma burada bulunabilir.
Sizin tanımınız dosyaları
- be.d.ts dosyaları
- gerekçedir
üçlü çizgi referanslarını içermez harici modül olarak yazılmalıdır Yazımların derlenmiş dosyalar kümesine yeni karşılaştırılabilir öğeler getirmemesi gerekir; Aksi halde derleme sırasında paket içindeki gerçek uygulama dosyalarının üzerine yazılabilir. Ayrıca, yükleme yazımları, aynı kitaplığın farklı sürümlerinden potansiyel olarak çakışan girdileri getirerek genel kapsamını kirletmemelidir. Eğer package.json içinde
types
özelliğini kullanmadığınız sürece
"typings" türünde değil gibi görünüyor. –
Soruyu cevapladığımda yazım oldu. İşte [arşiv] (https://web.archive.org/web/20160412204540/https://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html). Ayrıca, mevcut belgelerden: 'Not:" typings "alanının" types "ile eşanlamlı olduğunu ve de kullanılabilir. ' – rgvassar
Arka hikaye için teşekkürler.Mevcut tüm çevrimiçi örnekler 'types' kullanmaktadır. Henüz yapmadıysanız cevabınızı güncellemeyi düşünün. –
Visual Studio 2015 tanım dosyası tanımayacaktır Üç eğik çizgi kullanmak zorunda olacak *
https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
sizin ts referans yolu dahil Dosyalar. /// <reference path="../node_modules/../lib/main.d.ts" />
Sağladığınız linkten: '" typings "alanının" types "ile eşanlamlı olduğunu ve aynı zamanda da kullanılabileceğini unutmayın. – Izhaki
ilginç bir soru :) Sadece takip edeceğim. – meorfi