Angular 12 Universal on Google App Engine error: ./my-app/server/main.js: Syntax error: "(" unexpected
Angular 12 Universal on Google App Engine error: ./my-app/server/main.js: Syntax error: "(" unexpected
我有一个 Angular 12 应用程序,我已将其转换为通用。
稍作调整后,它可以在本地按预期工作。
我部署到 Google AppEngine 但得到 '500 错误:服务器错误'.
查看日志我看到错误:
./my-app/server/main.js: Syntax error: "(" unexpected.
我的app.yaml就是:
runtime: nodejs14
entrypoint: ./my-app/server/main.js
我尝试使用和不使用 --prod
进行构建,但我仍然遇到相同的错误。
任何帮助将不胜感激...
更新:
从 app.yaml 中删除 entrypoint 时出现错误:
Error: Cannot find module '/workspace/server.js' at
Function.Module._resolveFilename (internal/modules/cjs/loader.js:889:15) at
Function.Module._load (internal/modules/cjs/loader.js
这是package.json的脚本部分:
{
"name": "my-app",
"version": "1.0.0",
"scripts":
{
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"prod-build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"dev:ssr": "ng run my-app:serve-ssr",
"serve:ssr": "node dist/my-app/server/main.js",
"build:ssr": "ng build && ng run my-app:server",
"prerender": "ng run my-app:prerender"
},
...
终于解决了(在 Angular.io 与好人讨论后):
如果我将 app.yaml 更改为以下内容,它会像宣传的那样工作:
runtime: nodejs14
entrypoint: node dist/my-app/server/main.js
文件夹结构正是您从通用代码生成器中获得的:
{你的项目}
距离
我的应用程序
浏览器
...常规 Angular 站点文件 ...
服务器
main.js
...
在 AppEngine 中,您要上传并同步到项目的结构是:
{你的项目}
app.yaml
距离
我有一个 Angular 12 应用程序,我已将其转换为通用。
稍作调整后,它可以在本地按预期工作。
我部署到 Google AppEngine 但得到 '500 错误:服务器错误'.
查看日志我看到错误:
./my-app/server/main.js: Syntax error: "(" unexpected.
我的app.yaml就是:
runtime: nodejs14
entrypoint: ./my-app/server/main.js
我尝试使用和不使用 --prod
进行构建,但我仍然遇到相同的错误。
任何帮助将不胜感激...
更新:
从 app.yaml 中删除 entrypoint 时出现错误:
Error: Cannot find module '/workspace/server.js' at
Function.Module._resolveFilename (internal/modules/cjs/loader.js:889:15) at
Function.Module._load (internal/modules/cjs/loader.js
这是package.json的脚本部分:
{
"name": "my-app",
"version": "1.0.0",
"scripts":
{
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"prod-build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"dev:ssr": "ng run my-app:serve-ssr",
"serve:ssr": "node dist/my-app/server/main.js",
"build:ssr": "ng build && ng run my-app:server",
"prerender": "ng run my-app:prerender"
},
...
终于解决了(在 Angular.io 与好人讨论后):
如果我将 app.yaml 更改为以下内容,它会像宣传的那样工作:
runtime: nodejs14
entrypoint: node dist/my-app/server/main.js
文件夹结构正是您从通用代码生成器中获得的:
{你的项目}
距离
我的应用程序
浏览器
...常规 Angular 站点文件 ...
服务器
main.js
...
在 AppEngine 中,您要上传并同步到项目的结构是:
{你的项目}
app.yaml
距离