【问题标题】:Why is create-react-app's build directory in .gitignore?为什么 .gitignore 中有 create-react-app 构建目录?
【发布时间】:2017-04-25 21:49:27
【问题描述】:
这显然是我误解了,但我拼命地寻找答案。
我一直在用 create-react-app 自学 React,我已经运行“npm run build”来吐出我完成的项目,并且我已经将项目推送到了一个私人 bitbucket 存储库。
我的期望是通过 SSH 连接到我的服务器,然后 git clone /build 目录以使该项目生效。显然这是可能的(如果我从 .gitignore 中删除 /build),但由于 /build 目录位于 .gitignore 中,这显然不是预期/期望的行为。
所以,我的问题是 - 是什么?如何在不从 git 拉取(显然没有 FTP)的情况下将完成的构建发布到服务器?
谢谢!
【问题讨论】:
标签:
reactjs
web-deployment
create-react-app
【解决方案1】:
构建目录位于 .gitignore 中,因为它可以从现有文件中生成。
为了尽量减少上传/下载时间,只应将基本项目保留在 git 存储库中。任何可以生成的东西都不需要在 repo 中(在这种情况下是 build 目录)。
如果您正在使用具有节点(AWS、Heroku 等)的服务器,您可以在服务器上git clone 整个 repo,然后在那里运行npm run build(在npm install 之后)。然后你可以做类似的事情
npm install -g serve
serve -s build
serve 模块提供静态文件,您将 build 文件夹作为参数传递。
如果您正在使用更老式的服务器,例如带有 cPanel 的 Apache 静态托管等,那么您需要上传包含静态文件和 index.html 的整个 build 目录。