繁体   English   中英

未复制将 create-react-app 推送到 github node_modules 文件夹

[英]Pushing create-react-app to github node_modules folder has not been copied

我通过在 node.js 命令中运行 npx create-react-app my-app 创建了一个新文件夹 my-app 。 创建文件夹后,我想将整个内容上传到我的 github 帐户中的 repo,因此我打开 git bash 并运行命令将所有文件和文件夹推送到我创建的新 repo。 更新 repo 后,我发现所有文件都已复制,除了 node_modules 文件夹。 我实际上尝试在 git bash 命令窗口中运行 npx create-react-app 命令,但失败了。 所以我必须先在 node.js 中执行,然后在 git bash 中运行命令。 此外,repo 是在没有 read me 文件的情况下创建的。 我在这里做错了什么吗? 为什么文件夹被留下了。 任何人都可以帮忙。

这是因为 create-react-app 是自举的,并带有文件.gitignore 其中

node_modules 被忽略

为什么它们会被忽略,因为它们是您可以使用基于 package.json 文件的npm install随时安装的库。

在 package.json 中,有一部分dependencies ,也就是你的node_modules 并且npm install将使它们可用。

"dependencies": {
    "bootstrap": "^4.1.3",
    "fullcalendar-reactwrapper": "^1.0.7",
    "moment": "^2.22.2",
    "react": "^16.5.2",
    "react-date-picker": "^7.0.0",
}

Git - 到处忽略 node_modules 文件夹

没有错,create-react-app 有很多功能,其中之一是自动创建 .gitignore 文件。 如果您检查您的工作目录,则在根目录中有该文件。

基本上这个文件的作用是告诉 git 要跟踪什么和忽略什么,完全忽略 node_modules 文件夹是很常见的,因为当你克隆你的 repo 时,你只需要你的 package.json 来 npm 安装你的依赖项,所以有绝对不需要上传大量数据(node_modules 可能会很重)。

gitignore 文档

/node_modules 文件夹位于由 create-react-app 创建的 .gitignore 文件中。 如果您从 .gitignore 文件夹中删除该条目,您应该能够提交 node_modules。

create-react-app 带有一个名为.gitignore的文件。 此文件可确保不会将不必要的文件提交给 git。 这就是你的 node_modules 没有被提交并推送到 github 的原因。

  • node_modules 包含在 .gitignore 中的主要原因是没有必要将文件推送到 github。
  • 您可以随时从项目的 package.json 文件中获取 node_modules 文件夹。
  • 第二个原因是 node_modules 文件夹很大。 将其推送到 github 是一个负面因素。

如果您想从 package.json 文件中获取 node_modules 文件夹。 当这个 package.json 存在时,你只需要从项目目录的根目录运行以下命令

如果使用纱线 -

$ yarn install

如果使用 npm -

$ npm install

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM