如何为Fork的React Native npm包创建构建并解决导入问题
问题解析与解决方案
这绝对不是预期情况。react-native-calendars作为纯JS/TS的React Native第三方库,官方的npm run build脚本作用是将源码目录(通常是src)编译为可直接导入的JS产物,产物目录一般是根目录下的lib或dist,和你看到的iOS工程构建缓存完全不是一回事。
你在ios/下看到的build目录及里面的xcbuild相关文件,是Xcode构建iOS项目时生成的临时缓存文件,和npm包的构建流程无关。出现这种情况,大概率是你误在ios子目录下执行了npm run build,或者触发了Xcode的构建操作,而非执行仓库根目录下的npm构建脚本。
正确操作步骤:
- 切换到你fork的react-native-calendars仓库根目录,不要在ios子目录下操作。
- 打开仓库根目录的
package.json,查看scripts字段里的build命令。原库的配置是"build": "babel src --out-dir lib",如果你的fork里该命令被修改过,改回这个配置,或者直接执行编译命令:babel src --out-dir lib(执行前先跑npm install安装库的开发依赖)。 - 编译完成后,根目录会生成
lib目录,里面就是可被项目导入的编译产物。 - 将
lib目录提交到你的fork仓库,然后重新执行npm i git+<你的仓库地址>安装到项目中,此时导入react-native-calendars就不会出现找不到模块的错误了。
内容的提问来源于stack exchange,提问作者Ken
相关产品推荐
相关产品推荐

