Epubjs-rn 无法正常运行问题求助
解决epubjs-rn主模块字段无法解析的问题
我之前在React Native项目里用epubjs-rn的时候也踩过这个坑!官方文档步骤走完还是报这个错,其实是这个包的package.json配置有问题,给你几个亲测有效的解决方法:
直接指定正确的导入路径
别用默认的import Epub from 'epubjs-rn',改成直接导入包内实际存在的入口文件:import Epub from 'epubjs-rn/src/index.js'这个方法最直接,绕开了包本身错误的
main字段配置,直接指向正确的源码入口。修复包的package.json配置
找到项目里node_modules/epubjs-rn/package.json文件,把main字段的内容改成"./src/index.js"(原来的配置大概率指向了不存在的文件)。不过要注意,下次执行npm install或者yarn install时这个修改会被覆盖,你可以在项目的package.json里加一个postinstall脚本自动修复:"scripts": { "postinstall": "sed -i '' 's/\"main\": \"index.js\"/\"main\": \"src\\/index.js\"/' node_modules/epubjs-rn/package.json" }(Windows系统需要换成PowerShell的替换命令,或者用
cross-env来兼容多平台)降级到稳定版本
部分新版本的epubjs-rn可能引入了这个配置问题,你可以试试安装之前的稳定版本,比如:npm install epubjs-rn@0.3.80 --save这个版本的
main字段配置是正常的,能直接按官方文档的方式导入使用。
错误原因说明
这个报错的核心是:epubjs-rn的package.json里main字段指定的入口文件路径在包内不存在,导致React Native的模块解析器找不到正确的入口,所以才会提示“主模块字段无法解析”。
内容的提问来源于stack exchange,提问作者xanadont
相关产品推荐
相关产品推荐

