Typescript模块已成功解析,但找不到

时间:2019-01-04 18:26:15

标签: typescript

作为Typescript 3 monorepo的一部分,我试图引用同一仓库中另一个包(project_1)的程序包(project_2)。回购看起来像:

|- project_1
|    |- package.json (@projects/project_1)
|    |- tsconfig.json
|    |- src
|        |- foo.ts
|- project_2
     |- package.json (@projects/project_2)
     |- tsconfig.json
     |- src
         |- bar.ts

foo.ts用以下行引用bar.ts:

import { bar } from "@projects/project_2/src/bar";

我跑步时

cd project_1 && yarn exec tsc -- --traceResolution

从Typescript 2.9开始,我收到以下消息:

  

=========从'/home/jesuspc/Code/test2/project_1/src/foo.ts'解析模块'@ projects / project_2 / src / bar'。   ========未使用'NodeJs'指定模块分辨率种类。 'baseUrl'选项设置为   '/ home / jesuspc / Code / test2 /',使用此值   解析非相对模块名称“ @ projects / project_2 / src / bar”。   指定了“路径”选项,寻找与模块匹配的模式   名称“ @ projects / project_2 / src / bar”。模块名称   '@ projects / project_2 / src / bar',匹配的模式为'@ projects / '。试   替换“ ./”,候选模块位置:“ ./ project_2 / src / bar”。   将模块作为文件/文件夹加载,候选模块位置   '/ home / jesuspc / Code / test2 / project_2 / src / bar',   目标文件类型“ TypeScript”。文件   '/home/jesuspc/Code/test2/project_2/src/bar.ts'   存在-将其用作名称解析结果。   ========模块名称'@ projects / project_2 / src / bar'已成功解析为   '/home/jesuspc/Code/test2/project_2/src/bar.ts'。   ======== src / foo.ts:1:24-错误TS2307:找不到模块'@ projects / project_2 / src / bar'。

     

1从“ @ projects / project_2 / src / bar”中导入{bar,x};

因此,显然该模块已正确解析:

  

“模块名称'@ projects / project_2 / src / bar'已成功解析为'/home/jesuspc/Code/test2/project_2/src/bar.ts'”

但随后失败:

  找不到

@ projects / project_2 / src / bar

这对我来说没有意义。

我注意到该模块在Typescript 2.8中已正确解析,并且编译成功。我尚未在补丁说明中找到2.8和2.9之间的任何相关变化。

为什么要报告首先正确解析了模块位置,然后抱怨找不到该位置?

我已将代码推送至this repo

0 个答案:

没有答案