为什么create-react-app的build目录位于.gitignore中?

MyN*_*tes 4 web-deployment reactjs create-react-app

显然这是我误会的东西,但我拼命地寻找答案。

我一直在用create-react-app教自己React,我运行过“ npm run build”来吐出我完成的项目,并且我已经将该项目推送到了一个私有的bitbucket回购中。

我的期望是然后SSH到我的服务器,并git clone / build目录,以使该项目生效。显然,这是可能的(如果我从.gitignore中删除了/ build),但是由于/ build目录位于.gitignore中,因此这显然不是预期的/预期的行为。

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

谢谢!

mri*_*ech 7

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

为了最大限度地减少上载/下载时间,只有重要的项目应该保留在git repo中。可以生成的任何内容都不需要在存储库中(本例中为build目录)。

如果您在具有节点(AWS,Heroku等)git clone的服务器上工作,则可以在该服务器上使用整个仓库,然后在npm run build此处运行(在之后npm install)。然后你可以做类似的事情

npm install -g serve
serve -s build
Run Code Online (Sandbox Code Playgroud)

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

如果您正在使用cPanel等Apache静态托管等旧式服务器,则需要上载build包含静态文件和index.html 的整个目录。