提问者:小点点

当我有两个不同的文件夹时,如何将我的应用程序部署到heroku


我有一个项目有两个不同的文件夹。 一个是前端,另一个是后端。 我想在一个heroku应用程序上部署这两个文件夹。

在我的server.js中

app.get('*', (req, res) => {
    return res.sendFile(path.join(__dirname, '../frontend/dist/index.html'))
})

但是当我尝试用git bash在文件夹的根目录上部署时,使用这两个fodlers,我会得到一些错误,比如没有指定语言之类的。我在谷歌上搜索了这个错误,人们说这是因为我在文件夹的根目录上没有package.json文件。

我怎样才能有两个不同的文件夹和两个不同的package.json,以便我可以部署到heroku,或者我不能? 解决办法是什么?


共1个答案

匿名用户

在您的节点Appindex.js文件中,在下面添加代码& 在客户端目录中移动客户端代码

  app.use(express.static(path.join(__dirname, "client/build")));
  app.get("*", (req, res)=>{
    res.sendFile(path.join(__dirname, "client/build",'index.html'));
  })

和您的包中。json

"scripts": {
    "client": "cd client && yarn start",
    "server": "nodemon server.js",
    "build": "cd client && npm run build",
    "dev": "concurrently --kill-others-on-fail \"yarn server\" \"yarn client\"",
    "start": "node server.js",
    "heroku-postbuild": "cd client && npm install && npm install --only=dev --no-shrinkwrap && npm run build"
  }