我想运行heroku后构建为2个反应应用程序,其中使用一个单一的nodejs服务器。
这就是我目前正在构建的1 react应用程序,它运行得非常好。
"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"
}我试着做了两个应用程序
"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'));
});
}发布于 2020-07-04 04:34:21
似乎您的移动到另一个存储库的命令失败了,因为您在cd命令中缺少了一个/。
取代:
cd .. end-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"
这将建立你的另一个项目。
https://stackoverflow.com/questions/62725268
复制相似问题