【发布时间】:2020-10-24 18:14:35
【问题描述】:
我想为 2 个使用 1 个 nodejs 服务器的 react 应用程序运行 heroku postbuild。
这就是我目前正在构建 1 个运行良好的反应应用程序的方式
"scripts": {
"server": "nodemon index.js",
"shop-user": "npm start --prefix shop-user",
"start": "node index.js",
"dev": "concurrently \"npm run server\" \"npm run shop-user\"",
"heroku-postbuild": "cd shop-user && npm install && npm install --only=dev --no-shrinkwrap && npm run build"
}
以及我为 2 个应用做的尝试
"scripts": {
"server": "nodemon index.js",
"shop-user": "npm start --prefix shop-user",
"start": "node index.js",
"dev": "concurrently \"npm run server\" \"npm run shop-user\"",
"heroku-postbuild": "cd shop-user && npm install && npm install --only=dev --no-shrinkwrap && npm run build && cd .. end-user && npm install && npm install --only=dev --no-shrinkwrap && npm run build"
},
这不起作用。
我的 server.js
if (process.env.NODE_ENV === 'production') {
app.use('/shop', express.static(path.join(__dirname, 'shop-user/build')));
app.use(express.static(path.join(__dirname, 'end-user/build')));
app.get('/shop/*', (req, res) => {
res.sendFile(path.join(__dirname, 'shop-user/build', 'index.html'));
});
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'end-user/build', 'index.html'));
});
}
【问题讨论】:
-
你能分享一下你遇到的错误是什么吗?
-
当我转到myurl.herokuapp.com 时,我找不到页面,我应该在哪里获得最终用户应用程序的索引页面。当我去myurl.herokuapp.com/shop 它工作得很好。这是因为我猜是因为它没有构建最终用户应用程序
-
那个页面告诉你去heroku cli并运行
heroku logs --tail来查看日志。你会发现那里有什么问题。如果您确切知道问题所在,将更容易解决它。 -
没有。它dosent显示heroku日志--tail。简单的未找到文本和空白页
-
这是一个格式错误,您是否真的在这里错过了
/:cd .. end-user && npm install &&?在..之后
标签: node.js reactjs heroku build post-build-event