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";