node.js - ¿Cómo importo una biblioteca en node sin una definición de Typescript/TSD?
Estoy intentando usar un asistente de sesión llamado connect-session-knex, que es lo suficientemente oscuro como para no tener una definición de TypeScript publicada. Así que cuando intento compilar mi proyecto de Node en TypeScript, obtengo el error,
error TS2307 Cannot find module 'connect-session-knex'
¿Hay alguna manera de ignorar TS solo para este módulo? ¿Cómo lo importo sin el TSD? Sé que knex tiene un tsd, pero el envoltorio no. Estoy preguntando esto desde un punto de vista genérico sobre qué hacer con las bibliotecas que no tienen definiciones de tipos.
Para cualquiera que busque: Compilando TypeScript cuando no tiene tsd. Faltando tsd. Sin tsd.
Respuesta #1
error TS2307 No se puede encontrar el módulo 'connect-session-knex'. ¿Hay alguna manera de ignorar TS solo para este módulo? ¿Cómo lo importo sin el TSD?
Usa var/require en lugar de import/require, es decir.
var csk = require('connect-session-knex');
Ten en cuenta que deberías tener incluido node.d.ts para que require esté declarado.
También: https://basarat.gitbooks.io/typescript/content/docs/node/nodejs.html
Respuesta #2
Otra sugerencia es empezar tu propio archivo .d.ts como un archivo de definiciones vacío y exportar el módulo. Luego, si quieres obtener intellisense en el módulo, puedes añadir definiciones a él.
p. ej. connect-session-knex.d.ts:
// declare module
declare module "connect-session-knex" {
}
