如何在现有GitHub仓库中优雅初始化create-react-app项目
现有仓库初始化create-react-app的简化方案
你当前采用的临时目录拷贝流程不仅繁琐,还存在隐藏文件遗漏的问题:cp my-app/* ./ 命令默认不会复制.gitignore、.env这类点开头的隐藏文件,后续还要手动补全,完全可以用create-react-app(简称CRA)自带的参数跳过这些冗余步骤。
根目录直接初始化(对应你当前的需求场景)
CRA原生支持在当前目录初始化项目,只需要把目标路径设为当前目录,加上强制参数跳过非空目录校验即可,完整流程如下:
git clone git@github.com:MY-ORG/MY-REPO.git cd MY-REPO npx create-react-app . --force
参数说明:
- 用
.代替自定义的子目录名,告诉CRA直接在当前工作目录生成所有项目文件 --force参数用来关闭CRA默认的「目标目录必须为空」的校验,不会因为目录里已经存在.git目录、README、LICENSE等仓库基础文件就中断初始化- 这个方案会自动生成所有包括隐藏文件在内的CRA标准项目结构,不存在文件遗漏问题,也不需要后续的拷贝、删除临时目录操作
子目录初始化(适配仓库已有其他业务内容的场景)
如果你使用的现有仓库已经存放了其他项目的代码,不需要把React应用放在仓库根目录,不需要做任何拷贝删除操作,直接执行:
git clone git@github.com:MY-ORG/MY-REPO.git cd MY-REPO npx create-react-app your-react-app-name
CRA会自动在当前仓库下创建your-react-app-name子目录存放所有React项目文件,和仓库原有内容完全隔离,后续在子目录内开发、提交代码即可。
注意:使用
--force参数在根目录初始化前,先检查根目录下是否存在package.json、src这类和CRA默认生成文件重名的内容,避免覆盖原有仓库的重要文件,如有重名内容提前做好备份或迁移即可。
内容的提问来源于stack exchange,提问作者SCBuergel
相关产品推荐
相关产品推荐

