首页 > 解决方案 > 如何防止 Typescript 在父 node_modules 文件夹中查找

问题描述

我在另一个 NPM 包中有一个 NPM 包。子包有一些代码,如import { range } from 'iter-tools'. 即使子 package.json 没有依赖项iter-tools,我也没有收到任何类型的 Typescript 编译错误。大概这是因为模块解析器/ tsc 正在走到父node_modules文件夹以查找依赖项并在那里找到它。我希望这种情况发生。我想得到一个我忘记包含iter-tools在本地孩子的依赖列表中的错误。换句话说,我希望子包有点独立。我不知道如何做到这一点。我做了很多谷歌搜索,发现了类似的问题,但找不到答案。有什么我需要添加tsconfig.jsonpackage.json?

这个问题的背景是我有一个 Angular + Firebase 回购。其中一个服务器部分是 Firebase 云功能 - FCF。它位于functions具有自己的 package.json 的文件夹中,这是 Angular CLI 设置的项目的子文件夹。我在部署 FCF 时遇到了麻烦,除非它需要的所有代码都包含在 FCF 文件夹中。如果某些代码和类型定义在更高级别的 node_modules 文件夹(例如 Angular 根目录)中获取,则部署将不起作用。如果我忘记在 FCF 的 package.json 中包含依赖项,我想得到一个编译错误。相反,我没有收到任何编译错误,只是一个部署错误。

我的项目还有一个本地 NPM 包,其中包含在客户端和服务器之间共享的代码,我想确保该包是自包含的 - 不依赖于父文件夹中的 package.json 文件。

标签: node.jstypescriptnode-modulesangularfire

解决方案


推荐阅读