【发布时间】:2018-03-18 06:50:03
【问题描述】:
我正在尝试部署基于 NODE JS 构建的 webapp 代码。我从
部署了一个简单的应用程序 hello-worldhttps://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/appengine/hello-world
它成功了。
附件是我的项目结构。 在客户端文件夹中,我有 angular4,构建文件将存储在公共文件夹中 在服务器文件夹中,我定义了路由。
此设置在我的本地运行。没有错误。
但是当我在谷歌云上部署它时,我得到了
Error: Server Error
The server encountered a temporary error and could not complete your request.
Please try again in 30 seconds.
错误日志显示
Error: No default engine was specified and no extension was provided.
at View (/app/server/node_modules/express/lib/view.js:61)
at EventEmitter.render (/app/server/node_modules/express/lib/application.js:570)
at ServerResponse.render (/app/server/node_modules/express/lib/response.js:1008)
at (/app/server/app.js:42)
at Layer.handle_error (/app/server/node_modules/express/lib/router/layer.js:71)
at trim_prefix (/app/server/node_modules/express/lib/router/index.js:315)
at (/app/server/node_modules/express/lib/router/index.js:284)
at Function.process_params (/app/server/node_modules/express/lib/router/index.js:335)
at next (/app/server/node_modules/express/lib/router/index.js:275)
at Layer.handle_error (/app/server/node_modules/express/lib/router/layer.js:67)
谁能指导我为什么会出现这个错误?
我运行 npm start 的根 package.json 文件是
{
"name": "test-application",
"description": "A simple application for testers who run",
"version": "0.0.1",
"private": true,
"license": "Apache-2.0",
"author": "Alaksandar Jesus Gene",
"repository": {
"type": "git",
"url": ""
},
"engines": {
"node": ">=4.3.2"
},
"scripts": {
"deploy": "gcloud app deploy",
"start": "node server/app.js"
},
"dependencies": {
},
"devDependencies": {
},
"cloud-repo-tools": {
"test": {
"app": {
"msg": "Hello, world!"
}
},
"requiresKeyFile": true,
"requiresProjectId": true
}
}
而我的 app.yaml 文件是
# [START app_yaml]
runtime: nodejs
env: flex
skip_files:
- ^client$
# [END app_yaml]
请注意,这两个文件都是从 google 示例 github 项目中复制并添加了值。
项目文件夹结构 - 展开
项目文件夹结构 - 折叠
谁能指导我为什么会出现这个错误?
【问题讨论】:
标签: node.js google-app-engine app-engine-flexible google-appengine-node