gpt4 book ai didi

typescript - 如何让 ts-node 知道在 `d.ts` 文件中声明的命名空间?

转载 作者:行者123 更新时间:2023-12-04 16:59:45 27 4
gpt4 key购买 nike

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

const someFunction = (param: MY_NAMESPACE.PARAM) : boolean => { // DO SOMETHING };
参数类型通过 namespace 访问叫 MY_NAMESPACEdeclareMY_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 enter image description here
注意:在我的真实案例中, MY_NAMESPACE被称为 TYPES .
我怎样才能让它与 ts-node 一起工作?

最佳答案

我有一个类似的问题。问题是,ts-node忽略 include -选项tsconfig.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)。只需阅读上面的链接。

关于typescript - 如何让 ts-node 知道在 `d.ts` 文件中声明的命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65560562/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com