【发布时间】:2020-08-02 09:29:10
【问题描述】:
我是 Google Cloud 新手,似乎不知道如何部署具有同级本地依赖项的 Google App Engine 服务。我有一个这样的项目结构(我的堆栈是 TypeScript、nestJS、React):
-frontend
app.yaml
package.json
-backend
app.yaml
package.json
-common
package.json
dispatch.yaml
frontend 包将静态代码部署到default 服务,backend 包部署到api 服务。 common 包包含一些我想在前端和后端之间共享的代码。他们将其包含在他们的package.json 文件中,如下所示:
dependencies: {
common: "file:../common"
}
这种结构在本地运行良好。问题是当我部署后端时,npm install 失败,因为它找不到common 包。这是有道理的,因为我知道它只会将backend 的内容上传到该服务。但是实现这一目标的正确方法是什么?
我想我可以只部署一个包含所有代码的服务,并将我的顶级package.json 委托npm start 到后端的package.json。但这只是因为我的前端是完全静态的,所以我只有一个包需要npm start 才能被调用。似乎应该有更好的方法来处理这个问题,因为如果我有两个单独的后端,每个后端都需要自己的npm start,那么这种方法就会失败。
我猜我在以一种根本错误的方式思考这件事的某些方面,但我需要帮助弄清楚那是什么。
【问题讨论】:
标签: node.js google-app-engine npm google-cloud-platform gcloud