Node.js 为什么可以';我在这里使用index.d.ts文件吗?

Node.js 为什么可以';我在这里使用index.d.ts文件吗?,node.js,typescript,Node.js,Typescript,正在使用typescript处理节点项目,并一直随机遇到此错误。我已经阅读了typescript文档,了解了模块是如何解析的,尽管我非常确定自己符合这些文档的要求,但这种情况一直在发生 我的文件夹布局基本上如下所示: src |_ types |_ index.d.ts |_ export * from './Cow'; |_ Cow.ts |_ export interface Cow { ... } |_ utils

正在使用typescript处理节点项目,并一直随机遇到此错误。我已经阅读了typescript文档,了解了模块是如何解析的,尽管我非常确定自己符合这些文档的要求,但这种情况一直在发生

我的文件夹布局基本上如下所示:

src
 |_ types
      |_ index.d.ts
           |_ export * from './Cow';
      |_ Cow.ts 
           |_ export interface Cow { ... }
  |_ utils
      |_ Bovine.ts 
           |_ const moo = () => { ... };
           |_ const chewCud = () => { ... };
           |_ export { moo, chewCud };
因此,我尝试过在utils目录中使用或不使用index.d.ts文件,再次只是从boven.ts重新导出所有内容

因此:

所以我的问题是:为什么index.d.ts只在某些情况下起作用

文档中提到相对分辨率(路径以“.”开头),它是:

例如,在/root/src/moduleA.ts中,像import{b}这样的import语句从“/moduleB”导入,将导致尝试在以下位置定位“/moduleB”:

  • /根/src/moduleB.ts
  • /root/src/moduleB.tsx
  • /根/src/moduleB.d.ts
  • /root/src/moduleB/package.json(如果指定“类型”属性)
  • /root/src/moduleB/index.ts
  • /root/src/moduleB/index.tsx
  • /根/src/moduleB/index.d.ts
我不是正确地打了最后一行吗

import { chewCud } from '../utils';
假设存在UTIL/index.d.ts

蒂亚

import { chewCud } from '../utils';