2015-08-24 21 views
7

Yayımlanan bir kod tanımına sahip olmadığından emin olmayan connect-session-knex adlı oturum yardımcı programını kullanmaya çalışıyorum. Benim typescript düğüm proje derlemeye çalıştığınızda Yani, hata alıyorum, Bir kitaplık/TSD tanımı olmadan bir kütüphaneyi nasıl düğüm içine alırım?

error TS2307 Cannot find module 'connect-session-knex' 

sadece bu modül için TS görmezden bir yolu var mı? TSD olmadan nasıl alabilirim? Knex'in bir tsd olduğunu biliyorum, ama sarıcı değil. Bunu, tür tanımları olmayan kütüphanelerle ne yapılacağının genel bir bakış açısıyla soruyorum.

Arayan herkes için: tsd olmadığında yazı tipini derleme. Eksik tsd. Tsd olmadan.

+0

, benim tanım dosyası ile –

cevap

12

hata TS2307 sadece bu modül için TS görmezden bir yolu var mı 'bağlamak-session-knex' modülünü bulamıyor musunuz? TSD olmadan nasıl alabilirim?

import/require yerine var/require kullanın. require ilan edilmesi için size node.d.ts olmalıdır yani

var csk = require('connect-session-knex'); 

Not dahil.

Ayrıca

: https://basarat.gitbooks.io/typescript/content/docs/node/nodejs.html

5

Başka bir öneri boş bir tanım dosyası olarak .d.ts dosyanın sahibi başlayıp modülü ihraç etmektir. Daha sonra modül üzerinde intellisense almak istiyorsanız, ona tanımları ekleyebilirsiniz.

örn. connect-session-knex.d.ts:

 

// declare module 
declare module "connect-session-knex" { 

} 
+0

nasıl node_module bağlayabilirsiniz özellikle Yazılmamış ithalatı https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-1.html görüyor musunuz? –

+0

@SebastianBusek – Quango

+0

sorusunu tam olarak anlama. Örneğin, 'connect-session-knex'; Ben dosya connect-session-knex.d.ts yaratabilir ve sonra "connect-session-knex" 'in connectSessionKnex olarak' import * 'i kullanabilir, ancak TS transcripter-connect-knex.d.ts ile eşleşenin nasıl bağlanacağını bilirim. node_modules dizinindeki modül bağlantı-knex'i mi? –