我试图在我定义的类中使用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模块?
答案 0 :(得分:5)
如果我从部分删除import * as net,编译错误就会消失。
在缺少import
或export
语句时,该文件被视为全局。一旦导入/导出它就变成一个模块,因此必须导入。
此处介绍:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html