express - Heroku:构建后没有这样的文件或目录
问题描述
我正在尝试使用 Heroku 上的构建过程将新应用程序部署到 Heroku(它从 github 获取代码更改并自动构建)。客户端文件夹和 package.json 位于根文件夹中,而 express 文件(包括单独的 package.json)位于 /server 下。
{"error":"ENOENT: 没有这样的文件或目录,stat '/app/build/index.html'"}
在解决这个问题时,我启动了 bash 并在 app 目录中做了一个“dir”。果然,根目录下没有“build”文件夹。我已经大修了一些东西以将服务器的构建与主要构建分开 - 我可能搞砸了一些事情吗?我对 Heroku 上发生的事情的理解错了吗?
这是根目录中的 package.json:
"scripts": {
"start": "node server/index.js",
"build": "react-scripts build",
"dev": "SET NODE_ENV=development&& node server/index.js",
"test": "SET NODE_ENV=test&& nodemon --exec mocha --recursive",
"heroku-postbuild": "cd server && npm install && npm run build"
编辑 不确定这里是否发生了其他事情。我进入服务器的根目录并发出“npm run-script build”,构建文件夹现在在那里,我可以在那里看到 index.html。但是,同样的错误仍然存在。
解决方案
关闭它,因为我有一个更基本的问题
推荐阅读
- bash - docker compose:使用特定 shell 脚本启动容器的问题
- javascript - 如何为多个页面存储和加载同一段代码?
- vue.js - 如何解决此错误,未找到此相关模块?
- sql - 在 LEFT JOIN 中添加限制会导致返回不正确的限制金额
- c++ - 在另一个函数中初始化的通过 ref 参数传递会产生无效转换错误
- android - 重量在哪里(在喷气背包中)?
- python - 从字典创建列表理解
- android - java.lang.IllegalStateException onSaveInstanceState 后无法执行此操作
- javascript - 难以理解函数中的调用堆栈
- python - 有没有比覆盖我的父 Python 类的每个方法更好的方法?