TypeScript编译器无法识别定义文件

时间:2020-08-10 08:20:54

标签: typescript unit-testing mocha ts-node

我一直在对一些代码进行单元测试,这些代码取决于我无法导入的接口和类,但可以通过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名称空间的代码上也能正常工作)。

1 个答案:

答案 0 :(得分:0)

这是有意的,因为它们只是定义文件,所以它们并非要编译,而是为JavaScript文件(在某些情况下已经编译)提供附加的键入信息。您可以在this post中找到更多信息。