gpt4 book ai didi

javascript - 使用客户端和服务器在两个单独的文件夹中将 Node 应用程序部署到 heroku

转载 作者:行者123 更新时间:2023-11-30 08:23:48 25 4
gpt4 key购买 nike

我做了很多研究,但我似乎无法完全理解这一点。

我构建了一个应用程序。客户端是使用 Vue-cli 构建的,在客户端文件夹的端口 8080 上运行,而服务器则在 端口 8081 上的单独服务器文件夹中运行。本质上,我有这个:

client
- package.json
- node_modules
- src
- build
- index.html

server
- package.json
- node_modules
- app.js
- auth.js

我不确定如何解析文件夹结构以便将其部署到 Heroku。

根据我所做的一系列研究,this答案(诚然是一篇很老的帖子),一个建议是将两者结合起来,但我将如何解决每个文件夹(客户端和服务器)中的两个 package.json 文件?我合并它们吗?

另一个suggestion是创建两个独立的 Heroku 应用程序。然后我可以将我的 axios baseURL 设置为 app_name.herokuapp.com?

通常认为这两者中的哪一个是理想的解决方案?我真的被困在这里......

最佳答案

嗯,我遇到了同样的问题。我们可以给 Heroku 一个脚本,让它在安装依赖项后运行 heroku-postbuild .

我的存储库文件夹结构

App
|
+-- client (folder) (root)
| |
| +--src (folder)
| +--public (folder)
| +--package.json (file)
| +--package-lock.json (file)
|
+-- server (folder) (root)
| |
| +--.... (folders)
| +--.... (folders)
| +--index.js (Server Main File)
| +--package.json (file)
| +--package-lock.json (file)
|
+-- package.json (Dummy package JSON for detection of heroku)

My Git Hub Repo

我已使用以下代码将 package.json 添加到 Root 文件夹。

{
"name": "rollcall-rooms",
"version": "1.0.0",
"main": "",
"scripts": {
"start": "npm start --prefix server",
"install-client": "cd client && npm install && npm run build && cd ..",
"install-server": "cd server && npm install && cd .. ",
"heroku-postbuild": "npm run install-client && npm run install-server"
}
}

在 Heroku 中的部署过程

  • 克隆您的代码库。
  • 检测根文件夹中的 package.json 并安装所有 Node 依赖项。
  • 现在它将运行脚本 heroku-postbuildTUDUM。您可以在这里发挥自己的魔力。

关于javascript - 使用客户端和服务器在两个单独的文件夹中将 Node 应用程序部署到 heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49019707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com