0

我有一个MY_FILE.ts这样的文件:

const someFunction = (param: MY_NAMESPACE.PARAM) : boolean => { // DO SOMETHING };

param 类型是通过对文件的namespace调用MY_NAMESPACEI访问的。像这样:declareMY_NAMESPACE.d.ts

src/MY_NAMESPACE.d.ts

declare namespace MY_NAMESPACE {
  type PARAM: SOME_TYPE
}

我需要运行该MY_FILE.ts文件,其中包含一个脚本。

这工作正常:

npx babel-node src/MY_FILE.ts --extensions ".ts"

不起作用(我希望它可以正常工作):

npx ts-node src/MY_FILE.ts

我收到此错误:error TS2503: Cannot find namespace MY_NAMESPACE

在此处输入图像描述

注意:在我的真实案例中,MY_NAMESPACE被称为TYPES.

我怎样才能让它工作ts-node

4

1 回答 1

2

我有一个类似的问题。问题是,它ts-node忽略了include-optiontsconfig.json和仅在起始文件中的导入/引用(参见https://github.com/TypeStrong/ts-node#help-my-types-are-missing)。

我通过files使用ts-node.tsconfig.json

{
    "compilerOptions": {...},
    "ts-node": {
        "files": true
    },
    "include": [
        "./src/**/*.ts",
        "./libs/**/*.d.ts"
    ]
}

还有其他解决方案(三斜杠指令,typeRoots)。只需阅读上面的链接。

于 2021-01-04T14:19:22.863 回答