为什么 create-react-app 构建目录在 .gitignore 中?

Why is create-react-app's build directory in .gitignore?

这显然是我的误解,但我正在拼命寻找答案。

我一直在用 create-react-app 自学 React,我 运行 "npm run build" 吐出我完成的项目,我把项目推送到一个私有的 bitbucket 仓库.

我的期望是然后通过 SSH 连接到我的服务器,然后 git 克隆 /build 目录以使该项目生效。显然这是可能的(如果我从 .gitignore 中删除 /build),但是由于 /build 目录位于 .gitignore 中,这显然不是 intended/desired 行为。

所以,我的问题是 - 什么是?如何在不从 git 拉取(显然没有 FTP)的情况下将完成的构建发布到服务器?

谢谢!

构建目录在.git忽略,因为它可以从现有文件生成。

为了尽量减少 upload/download 时间,只应将必需品保留在 git 存储库中。任何可以生成的东西都不需要在 repo 中(在这种情况下是构建目录)。

如果您在具有节点(AWS、Heroku 等)的服务器上工作,您可以 git clone 服务器上的整个存储库,然后 运行 npm run build 那里(在 npm install).然后你可以做类似

npm install -g serve
serve -s build

serve 模块提供静态文件,您将 build 文件夹作为参数传递。

如果您正在使用更老式的服务器,例如带有 cPanel 的 Apache 静态托管等,那么您将需要上传包含静态文件和 index.html.[=17= 的整个 build 目录]