使用 node_module 设置 GitHub 项目
简介npx create-react-app app-name命令是设置 React 模板项目的最简单方法。它也是官方推荐的设置 React 项目的方法。npx 命令代表“Node Package Execute”,并使用最新版本的create-react-app工具来设置 React 项目,而无需在本地安装该工具的特定版本。
npx命令与node.js包捆绑在一起,除了npx之外,node.js还使用npm和package.json文件来跟踪依赖项列表,从而简化了依赖项管理过程。 node_modules目录包含所有 React 依赖项包:react、react-dom,以及它们的传递依赖项,如webpack、babal、rxjs、ESLint等,用于构建和运行 React 项目。node_modules目录是任何node或 React 项目的关键部分之一,但由于其规模庞大,不应由版本控制系统 (git) 跟踪。正确的方法是跟踪package.json文件,并使用npm工具重新生成node_modules。本指南介绍了设置 GitHub 项目以管理node_modules目录的步骤。
将 Node 项目设置为 GitHub 存储库
create-react-app命令自动将项目设置为git存储库。它执行以下git命令:
- git init:此命令将项目配置为git存储库,并创建一个.git目录,用于跟踪项目中所做的更改。
- .gitignore 文件:.gitignore是一个隐藏文件,可以像任何其他文件一样手动创建。此文件向git提供信息,以忽略/取消跟踪具有定义名称或模式的文件或目录。例如,/node_modules将仅忽略根目录中的node_modules目录(及其内容),但node_modules将忽略项目层次结构中任何位置定义的node_modules目录。有关.gitignore模式的更多详细信息,请参阅官方文档。现在下一步是将更改保存到git中:
- 打开终端
- 暂存所有更改以进行下一次提交
git add .
- 使用-m标志和提交命令将更改提交/保存到git中并附带一条消息
git commit -m "first commit"
注意: .gitignore文件中声明的文件和文件夹不会暂存或提交任何更改。
提交更改后,下一步是通过以下步骤将代码推送到远程存储库(在 GitHub 上):
登录你的 GitHub 帐户
单击+图标创建一个新的存储库并复制给定的 SSH 链接。不要创建任何许可证或readme.md文件,否则 git 将强制您先拉取/下载更改,这可以使用git pull origin master --allow-unrelated-histories命令完成。
之后不应再使用--allow -unrelated-histories标志。
如果您尚未将 SSH 密钥添加到您的 GitHub 帐户,那么您可以使用HTTPS链接,这将要求您在每次推送到 GitHub 服务器时输入用户名和密码,或者您可以按照此处的步骤设置 SSH 密钥。
- 要将代码推送到远程存储库,git 需要知道远程存储库的 URL。
- 从 GitHub 存储库复制 SSH URL:
- 将远程 SSH URL 添加到 git 远程条目中:
# SSH link ends with .git
git remote add origin https://github.com/UserName/RepoName.git
这里,remote是管理远程服务器连接的命令,origin只是远程链接的常规名称。
- 最后一步是将已提交的更改推送/移动到远程存储库:
git push origin master
从 GitHub 设置新的 Node 项目
克隆是使用clone命令从远程服务器下载存储库的过程:
git clone https://github.com/UserName/RepoName.git
上述clone命令将从远程服务器下载项目到本地。node_modules不是克隆存储库的一部分,应使用npm install命令下载package.json文件中提到的所有已定义和传递依赖项:
# make sure that you are in the root directory of the project, use pwd or cd for windows
cd RepoName
npm install
将所有依赖项下载到node_modules目录中需要一些时间,此过程完成后,项目即可运行:
npm start
尖端
- node_modules目录可能占用超过 200MB 的空间,因此保留所有node_modules可能会导致空间问题。如果您确实想摆脱磁盘空间问题并使用npm install设置node_modules ,那么可以使用find命令(适用于 Linux/Mac)列出和删除node_modules:
# list all node_modules directories in the current path
find . -name 'node_modules' -type d -prune
# remove all node_modules directories in the current path
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
由于node_modules是.gitignore的一部分,因此这是一个不可逆的过程,因此请确保在执行上述命令之前验证路径和git提交。
- 探索官方 React .gitignore文件以了解更多详细信息。
- 如果node_modules已经是存储库的一部分,那么可以使用git rm -r --cached node_modules命令将其删除,但请确保提交并将更改推送到远程服务器。
结论
Git 和npm提供了一种简单的方法,避免使用.gitignore文件和npm install命令将庞大的node_modules推送到 GitHub 存储库。package.json文件是重新生成node_modules的源,因此此文件足以设置 Node 项目的新副本。祝您编码愉快!
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~