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

时间:2017-04-25 21:49:28

标签: reactjs web-deployment create-react-app

这显然是我误解的事情,但我拼命想找到答案。

我一直在教自己React with create-react-app,我运行“npm run build”来吐出我已经完成的项目,然后我将项目推送到私人bitbucket repo。

我的期望是然后SSH到我的服务器,然后git克隆/ build目录以使这个项目生效。显然这是可能的(如果我从.gitignore中删除/构建),但由于/ build目录在.gitignore中,这显然不是预期/期望的行为。

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

谢谢!

1 个答案:

答案 0 :(得分:5)

构建目录位于.gitignore中,因为它可以从现有文件生成。

为了最大限度地减少上传/下载时间,只有基本项目应保存在git仓库中。任何可以生成的东西都不需要在repo中(在这种情况下是构建目录)。

如果您正在使用具有节点(AWS,Heroku等)的服务器,则可以git clone服务器上的整个存储库,然后在npm run build之后运行npm install。然后你可以做类似

的事情
npm install -g serve
serve -s build

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

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