我有一个用Typescript编写的nodejs Web应用程序(基于koa.js),我想将其部署在Google App Engine上。
该代码已被转换为JavaScript,并且位于./dist/src/
的本地。
所以基本上我只想部署./package.json
和./dist/src/
。
我的app.yaml:
runtime: nodejs12
service: my-first-service
env_variables:
somekey: somevalue
package.json中的启动命令:node --require dotenv/config ./dist/src/App.js
上传应用程序正常。但是似乎dist文件夹丢失了。在日志中,我可以看到Error: Cannot find module '/srv/dist/src/App.js'
。同样在Stackdriver(调试)中,我看不到dist文件夹。
dist文件夹是我的.gitignore
的一部分,但不在.gcloudignore
中。
我的.gcloudignore:
.env
.gitcommittemplate
.git
.gitignore
.gitlab-ci.yml
googleCloudKey.json
*.log
*.md
tsconfig.json
tslint.json
.nyc_output/
.vscode/
cli/
dist/tests/
node_modules/
src/
tests/
答案 0 :(得分:0)
我看到您在container.start();
中包含了src/
文件夹。
这是/ dist / src /丢失link的原因。
例如,模式doc / frotz /匹配doc / frotz目录,但不匹配 a / doc / frotz目录;但是frotz /匹配frotz和a / frotz 是目录(所有路径都是.gitignore文件的相对路径)。
我在机器上进行了测试,并得到了相同的结果。当我将.gcloudignore
文件夹添加到我的src
文件中时,.gcoudignore
和src/
均被忽略。