如何从React Native应用创建保留.tsx/.js文件的库?
解决react-native-create-library移除现有.tsx/.js文件的问题
方法一:先备份再恢复文件
- 执行命令前,把项目中所有
.tsx和.js文件(包括src、components等核心目录)复制到项目外的临时文件夹 - 运行
npx react-native-create-library libname生成基础库结构 - 将临时文件夹中的文件复制回项目原位置,再把需要纳入库的文件迁移到
libname目录对应的结构下(比如把组件放到libname/src) - 调整
libname/package.json里的main、types等字段,指向库的正确入口文件
方法二:手动创建库结构(避免命令覆盖)
直接跳过react-native-create-library的自动生成,手动搭建RN库结构:
- 在项目根目录新建
libname文件夹,内部创建标准结构:src:存放你的.tsx/.js组件、业务逻辑文件android:手动创建安卓模块必要文件(参考RN官方库模板的build.gradle、MainPackage.java等)ios:手动创建iOS模块必要文件(参考RN官方库模板的libname.xcodeproj、libname.m等)
- 在
libname下创建package.json,配置好name、version、main、scripts等核心字段 - 把现有项目中需要纳入库的
.tsx/.js文件移动到libname/src,同步调整文件内的导入路径
方法三:修改工具默认行为(自定义命令逻辑)
如果需要重复使用该命令,可修改工具的删除逻辑:
- 全局安装工具:
npm install -g react-native-create-library - 用
which react-native-create-library查看工具安装路径 - 打开工具目录下的模板生成脚本,找到删除
.tsx/.js文件的代码段,注释或删除该逻辑 - 之后运行
react-native-create-library libname就不会再删除现有文件了
注意事项
- 无论用哪种方法,都要确保
libname/package.json的入口配置正确,比如main指向编译后的产物或源码文件(TypeScript项目需同步配置tsconfig.json的include路径) - 迁移文件后,要测试项目的依赖导入和组件渲染,避免路径错误导致的运行异常
内容的提问来源于stack exchange,提问作者pushkar mishra
相关产品推荐
相关产品推荐

