SailsJS kullanarak bir arka uç sunucusu geliştiriyorum. Temel olarak tüm model yardım hizmetlerini ve kendi servislerimi global ad alanı içine enjekte ediyor. Bu hizmetler için Intellisense alabildiysem büyük fayda sağlayacaktır.VS Code'da kendi Javascript hizmetlerim için Intellisense almak için Typescript tanımları nasıl kullanılır?
Önce yazarak yazın ve lodash ve node için global tür tanımları yükledim. jsconfig.json ve tsconfig.json dosyalarını oluşturduktan sonra bir çekicilik gibi çalışır.
Sonraki Kendi hizmetlerim için temel bir tanım dosyası oluşturmak istedim.
declare namespace foo {
export function bar();
}
declare var baz: { some: number };
Bu sadece onlar işe yaramaz eğer ben zaman yazma tanımları boşa harcamayın emin olmak için şu oluyor: Bir index.d.ts İçinde dosya ile typings/globaller bir dizin yarattı . Benim için sürpriz
/// <reference path="globals/psiewakacje/index.d.ts" />
, benim proje en çalışmaz:
Sonraki Ben index.d.ts bir referans etiketi ekleyerek typings/index.d.ts yılında dosyası bu dahil Javascript dosyaları. foo.
veya baz.
yazdıktan sonra, herhangi bir mantıklı Intellisense alamıyorum. Ben aracılığıyla her dosyada bu hizmetleri ithal zaman
sadece Intellisense desteği ben almak başardı:
import * as InternalParser from '../services/InternalParser';
veya
var InternalParser = require('../services/InternalParser');
ama bu kullanmaz Typescript'in tanım dosyaları ve sadece bana verilen özellikleri verir. Genel olarak istenen bir sonuç değil.
Ben düzgün çalışması için nasıl merak ediyorum. Düğümün ve lodash'ın tip tanım dosyalarına baktım ve aynı şeyi yapıyorlar: belirli bir türle bir değişken/ad alanı bildir. Ancak, tanımları Javascript'te çalışıyor ve benim değil. Nasıl doğru alınır?
Benim için sorun özel modülleri typings ile yüklü değil olanlar için IntelliSense almıyor, bu yüzden ne yazık ki bu benim için bir çözüm değildir. Denediğin için teşekkürler! – Voreny
Ah anladı! Yardımcı olabilecek başka bir şeye rastlarsam size haber vereceğim. – Joelster