当前位置: 首页 > 知识库问答 >
问题:

ts节点找不到我的类型定义文件

胡沈义
2023-03-14

当我运行< code > 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的方式,我不知道该给这个目录取什么名字。

共有1个答案

段干博明
2023-03-14

启用< code>tsconfig.json中的ts-node - files选项,如下所示:

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

延伸阅读:

  • 救命!我的类型丢失了
  • tsc成功编译项目时,ts节点忽略d.ts文件
 类似资料:
  • 定义一个类型 条件1:变量类型是一个字符串。 条件2:变量值不是 get "typescript": "~5.2.2"

  • Maven告诉我:您的过滤器与任何原型都不匹配。我的系统: null 我已采取的步骤是: Create my project Navigate to my project in command prompt and run the command: cd返回到“我的项目”文件夹并运行命令 运行该命令后,我会看到:

  • 我正在heroku服务器上使用node red contrib protobuf 我尝试了许多不同的相对路径。原型文件。问题是我一直收到这样的错误:“无法加载Proto文件。错误:enoint:没有这样的文件或目录,请打开…”/src/assets/protocol\u buffers\u files/generic\u消息。原型“' 我也尝试过这个“/src/assets/protocol\u

  • 问题内容: 我已经为类型编写了自定义(反)序列化器。我向对象映射器注册它们。但是当我部署war文件时,它说找不到joda.money.Money类型的序列化程序。 在ObjectMapper中注册; 问题答案: 我看到您在构造函数中创建但从未使用过。您可能应该在构造函数的最后使用JsonProvider。 但是我认为这不会解决您的问题。我认为问题在于jaxrs仅了解简单的数据类型,如果您要使用自定

  • 下面的代码没有给我正确的答案。 这给出; 一般来说,若给定了点的数组列表,我们如何在数组中找到特定点的索引?

  • 我现在想自定义一个属性,支持多种类型 我的代码: 但是一直报错: