【发布时间】:2019-12-28 00:41:39
【问题描述】:
我正在尝试将 npm run build 在 React 应用程序中创建的构建文件添加到 Git 存储库。
npm run build 生成的文件被我在 Django 上的后端服务器直接使用。我的后端(在 Django 中)和前端(在 React 中)是两个不同的 Git 存储库。
这是我面临的问题。
每次我运行
npm run build时,它都会创建具有不同哈希值的新文件。如果我继续添加所有文件,我的 git 存储库的大小将会增加。我尝试通过运行git filter-branch --tree-filter 'rm -rf build/static' HEAD从 git 中完全删除旧文件。但是由于这重写了历史,我每次都必须使用git push和--force,这感觉不对。我可以通过直接在服务器上创建构建来避免将静态文件一起添加。这会有所帮助,但是在后端工作的每个人都必须在本地构建静态文件,这意味着他们必须安装 node 和 react,这对于后端开发人员来说可能很麻烦。
有没有更好的方法来做到这一点?我该如何解决这个问题?
【问题讨论】:
-
Django 应该处理整个堆栈。即使前端和后端团队分开,后端代码与前端的集成也应该不断发生,否则,在我看来,对 Django 的需求就不大了。有一些方法可以将 hb React 与 Django 集成,但您不应该在 Git 存储库中将其分开。后端和前端可以有两个分支,但主分支应该放在一起。
-
@Yoomama 感谢您的评论。我相信这个博客是关于本地发展的。我更关心生产构建,我需要在 django 应用程序中通过 react 提供最终构建。在我看来,扩展后端和前端也不是一个好的解决方案。
-
我不使用 React,当你创建一个新的 React 项目时,应该有一个 .gitignore:github.com/facebook/create-react-app/blob/master/.gitignore 我注意到你不应该将你的
build目录推送到 Git回购。这应该可以解决问题,然后您可以坚持一个主分支。