Typescript 模块aren';找不到修改过的第三方软件包

Typescript 模块aren';找不到修改过的第三方软件包,typescript,Typescript,我正在使用这个包react native parallax scroll view它没有一个预设的类型包,比如:@types/..,出于某种原因,当我在.d.ts文件中声明这个包时,我现在被迫修改这个包并制作我自己的副本,如下所示: 声明模块“./修改的_模块/反应本机视差滚动视图” 它没有被声明为ts的模块,我如何解决这个问题 它没有被声明为ts的模块,我如何解决这个问题 而不是 declare module "../modified_modules/react-native-parallax

我正在使用这个包
react native parallax scroll view
它没有一个预设的类型包,比如:
@types/..
,出于某种原因,当我在
.d.ts
文件中声明这个包时,我现在被迫修改这个包并制作我自己的副本,如下所示:

声明模块“./修改的_模块/反应本机视差滚动视图”

它没有被声明为ts的模块,我如何解决这个问题

它没有被声明为ts的模块,我如何解决这个问题

而不是

declare module "../modified_modules/react-native-parallax-scroll-view";
你:


首先确保您的
declare module
语句不在另一个模块内(即,在包含
.d.ts
的文件中不应有顶级导入或导出),因此它被视为模块声明,而不是模块扩充

TypeScript不支持具有相对路径的模块声明;看见您应该会收到一个错误,“环境模块声明无法指定相对模块名称”。如果您希望使用相对路径在代码中导入模块,提供类型声明的唯一方法是将一个
.d.ts
文件与相应的顶级导出放在
.js
文件旁边(或者根据您的
rootDirs
选项,几乎与之并行)。据我所知,使用这种方法,无法将模块声明为非类型化(相当于
declare module.。/modules/react native parallax scroll view”;
无主体)。因此,您需要进行设置,以便可以使用非相对路径导入模块,并将相同的非相对路径放入
declare module
语句中,然后该声明应该可以工作


在您的情况下,我建议通过将
react native parallax scroll view
的版本设置为包含修改模块的目录的相对路径,在主项目的
package.json
中注册您修改的模块。然后
npm install
将从
node\u modules/react native paral>创建一个符号链接lax滚动查看修改后的模块。由于修改后的模块可以通过标准位置访问,因此此设置希望给您带来的麻烦最小。您只需从“react native parallax scroll view”(反应本机视差滚动查看)中使用
导入…即可
声明模块“react native parallax scroll view”(反应本机视差滚动查看)
与原始模块相同。

但是我使用的是不同的包副本如果我使用了您的解决方案,它将在节点_模块中查找此包,但位置不正确
declare module "react-native-parallax-scroll-view";