【发布时间】:2016-10-09 13:41:15
【问题描述】:
我正在尝试在我定义的类中使用 node.js 类(本例中为 net)。
Connection.ts:
import net = require('net');
class Connection {
}
然后我在另一个文件中引用我的类,
ConnectionContext.ts:
interface IConnectionContext {
connection: Connection;
}
当我有这段代码时,我在 ConnectionContext 中看到一个带下划线的“连接”,上面写着"IConnectionContext.ts(3,17): error TS2304: Cannot find name 'Connection'"
如果我从部件中删除 import * as net,编译错误就会消失。
我有点困惑,当我查看生成的 JavaScript 时,我所有的类在创建时看起来都一样。我不确定为什么 typescript 说这个类不存在。
这是我的 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 模块的类?
【问题讨论】:
-
对 typescript 不太熟悉,但如果它使用的是 es2015 模块规范,那么您似乎将节点样式模块与新模块语法混合在一起:
import net = require('net');。你试过import net from 'net';吗?
标签: javascript node.js typescript typescript1.8