我已经意识到,当我在具有特定依赖项的项目上运行 tsc 时,只要在我的系统中节点的模块解析路径中的任何位置存在任何版本的依赖项,编译就会成功。
例如:
- 在使用包含两个包(project_1和project_2)的 yarn 工作区管理的 monorepo
- 如果project_1在其 package.json中声明了依赖dep_1
- 运行 yarn install 后,将dep_1添加到根 node_modules
我现在可以在project_2中对dep_1使用 import 语句,而无需将dep_1添加到project_2的 package.json 中,并且 tsc 在编译时不会抱怨。
可以更改此行为以使 Typescript 了解每个项目的 package.json 中声明的依赖项吗?