【问题标题】:how to build multiple react applications at heroku using post build如何使用 post build 在 heroku 上构建多个 React 应用程序
【发布时间】: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


【解决方案1】:

您的移动到其他存储库的命令似乎已损坏,因为您的 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"

这将构建您的另一个项目。

【讨论】:

    猜你喜欢
    • 2021-11-16
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    相关资源
    最近更新 更多