gpt4 book ai didi

node.js - ts-node 找不到我的类型定义文件

转载 作者:行者123 更新时间:2023-12-04 12:02:48 25 4
gpt4 key购买 nike

当我跑 ts-node node_modules/jasmine/bin/jasmine我收到这些错误:

tsc/globals.ts:7:12 - error TS2304: Cannot find name 'SugarcubeState'.

7 State: SugarcubeState;
~~~~~~~~~~~~~~

这是该全局文件:
/* eslint-disable @typescript-eslint/no-explicit-any */
console.log("global.ts");

// eslint-disable-next-line @typescript-eslint/no-namespace
declare namespace NodeJS {
interface Global {
State: SugarcubeState;
setup: {};
}
}

declare const State: SugarcubeState = {
variables: {}
};

declare const setup: any = {
variables: {}
};


这是我的 index.d.ts:
type SugarcubeVariables = {
};

type SugarcubeState = { variables: SugarcubeVariables };

它们都在同一个目录中,Visual Studio 代码没有提示任何东西。为什么 ts-node 似乎找不到我的类型定义文件?

我用谷歌搜索并找到了这个网站: https://github.com/TypeStrong/ts-node#help-my-types-are-missing按照它的建议,我修改了我的 tsconfig 文件以获得一个
"typeRoots": ["tsc"],                       /* List of folders to include type definitions from. */

在其中,但它对错误没有影响。我也试过这个:
    "types": ["tsc/index.d.ts"],                           /* Type declaration files to be included in compilation. */

但同样,我收到的错误没有区别。如何让 ts-node 识别我的 .d.ts 文件?

PS:如果您想知道我为什么要这样定义事物,请参阅此答案 https://stackoverflow.com/a/43523944/61624

我重读了那个链接,看来我需要一个非常具体的目录结构。问题是,它说我只需要这个目录结构中的模块名称,并且考虑到我编写 index.d.ts 的方式,我不知道该目录的名称。

最佳答案

如讨论的那样在 tsconfig.json 中启用 ts-node --files 选项 herehere

{
"ts-node": {
"files": true
},
"compilerOptions": {
....

关于node.js - ts-node 找不到我的类型定义文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60782231/

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