我一直在对一些代码进行单元测试,这些代码取决于我无法导入的接口和类,但可以通过d.ts文件添加到intellisense中。尽管我的tsconfig中有“ include”属性,但提到了这些文件,但由于无法找到我正在使用的任何接口,我仍然遇到有关TypeScript无法编译的错误。
我的tsconfig:
{
"compilerOptions": {
"target": "es6",
"module": "CommonJS",
"esModuleInterop": true,
"sourceMap": false,
"downlevelIteration": true,
},
"include":
[
"_MainSource/**/*",
"Tests/**/*",
"@typeDefs/**/*"
],
}
我得到的错误:
error TS2503: Cannot find namespace 'RPG'.
我当前的测试命令:
mocha -r ts-node/register Tests/**/*.ts
我尝试在测试命令中添加“ ts-node --files”,让我在这里看到以下内容:
mocha -r ts-node/register 'ts-node --files' Tests/**/*.ts
但是然后我得到关于TS如何找不到ts-node的错误(即使已安装ts-node,并且原始命令在不依赖RPG名称空间的代码上也能正常工作)。
答案 0 :(得分:0)
这是有意的,因为它们只是定义文件,所以它们并非要编译,而是为JavaScript文件(在某些情况下已经编译)提供附加的键入信息。您可以在this post中找到更多信息。