如何从节点访问React中的构建文件夹进行Heroku部署?我得到错误,我几乎100%肯定我只是没有使用正确的路径。
我的想法是使用标准路径导航../
,但这似乎是一个不正确的假设。
文件层次结构:
Project Folder
|
|___Backend-Folder
| |
| |___App.js
|
|___Frontend-Folder
|
|___build
App.js(服务器):
if (process.enn.NODE_ENV === 'production') {
app.use(express.static(path.resolve(__dirname, "../Frontend-Folder/build")));
app.get("*", function (request, response) {
response.sendFile(path.resolve(__dirname, "../Frontend-Folder/build", "index.html"));
});
}
包。
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix ../Frontend-Folder && npm run build --prefix ../Frontend-Folder"
我一直在工作的教程有他们的服务器和构建文件在同一个主文件夹,所以他们不需要退出。知道怎么找到正确的路径吗?我真的很感谢你的帮助!
首先,您的代码中有一个错别字。应该是process.env.NODE_ENV
而不是process.enn.NODE_ENV
还可以这样做:
if (process.env.NODE_ENV === "production") {
app.use(express.static(path.join(__dirname, "../Frontend-Folder/build")))
app.get("*", (req, res) => {
res.sendFile(path.resolve(__dirname, "/../Frontend-Folder", "build",
"index.html"))
})
}
注意"join"在app.use而不是resolve.
你的包。Json构建文件应该是:
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix Frontend-
Folder && npm run build --prefix Frontend-folder"