我正在用打字稿编写电子应用程序进行实验。我试图找出 需要外部模块的正确实施方式。typescript require(node)的类型
我的打字稿配置如下:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"noImplicitAny": false,
"sourceMap": true,
"removeComments": false,
"outDir": "../build"
},
"exclude": [
"node_modules",
"typings/browser.d.ts",
"typings/browser"
]
}
我有2个班,每个在它自己的文件。
class person {
private job: job;
public setJob(name: string) {
this.job = new job(name);
}
}
class job {
private name: string;
constructor(name : string) {
var externalTool = require('external-tool');
//Do stuff with external tool.
}
}
而对于外部工具的TS文件:
declare module ExternalTool {
interface Something {
doSomethingWithName(name:string): string;
}
}
declare module "external-tool" {
export = ExternalTool;
}
需要由 'https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/node/node.d.ts'
目前 'externalTool' 变量definded的类型是 '任意' 的。我如何获得打字稿将其识别为正确的类型。 我可以用“import externalTool = require('external-tool')”来替换require,但那个人类不再识别作业类。
那么最好的方法是什么呢?