如何在没有Typescript/TSD定义的情况下将库导入节点?

Fla*_*ape 7 module package node.js typescript tsd

我正在尝试使用一个名为connect-session-knex的会话帮助程序,它很晦涩,它没有已发布的打字稿定义.所以当我尝试编译我的typescript节点项目时,我得到错误,

error TS2307 Cannot find module 'connect-session-knex'
Run Code Online (Sandbox Code Playgroud)

有没有办法忽略此模块的TS?如何在没有TSD的情况下导入它?我知道knex有一个tsd,但包装器没有.我是从没有类型定义的库如何处理的一般观点来问这个问题的.

对于任何寻找的人:在没有tsd时编译打字稿.缺少tsd.没有tsd.

bas*_*rat 12

错误TS2307无法找到模块'connect-session-knex'有没有办法忽略此模块的TS?如何在没有TSD的情况下导入它?

var/require而不是import/require.即

var csk = require('connect-session-knex');
Run Code Online (Sandbox Code Playgroud)

请注意,您应该node.d.ts包含以便require声明.

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


Qua*_*ngo 5

另一个建议是将您自己的.d.ts文件作为空定义文件启动并导出模块.然后,如果您想在模块上获得智能感知,您可以为其添加定义.

例如connect-session-knex.d.ts:


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

}