在导入Node.js

时间:2016-06-09 04:33:02

标签: javascript node.js typescript typescript1.8

我试图在我定义的类中使用node.js类(在本例中为net)。

Connection.ts:

import net = require('net');
class Connection  {

}

然后我在另一个文件中引用我的课程,

ConnectionContext.ts:

interface IConnectionContext {
    connection: Connection;
}

当我有这个代码时,我看到一个带下划线的" Connection"在ConnectionContext中显示"IConnectionContext.ts(3,17): error TS2304: Cannot find name 'Connection'"

如果我从部分删除import * as net,编译错误就会消失。

我有点困惑,当我看到生成的JavaScript时,我的所有类在他们的创建中看起来都是相同的。我不确定为什么打字稿会说这堂课不存在。

这是我的tsconfig:

{
    "compileOnSave": true,
    "compilerOptions": {
        "module": "commonjs",
        "outDir": "bin/",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "sourceMap": true,
        "moduleResolution": "node",
        "target": "es5"
    },
    "exclude": [
        "node_modules"
    ]
}

基于此,我需要做什么才能让我的界面看到我的类使用node.js模块?

1 个答案:

答案 0 :(得分:5)

  

如果我从部分删除import * as net,编译错误就会消失。

在缺少importexport语句时,该文件被视为全局。一旦导入/导出它就变成一个模块,因此必须导入。

此处介绍:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html