将Nuxt Vue.js应用程序部署到Google App Engine

时间:2018-09-17 08:19:28

标签: javascript node.js google-app-engine vue.js nuxt

部署Nuxt应用程序时出现“ 500服务器错误”。

enter image description here

以下是我的配置文件:

package.json

{
  "name": "my-app-name",
  "version": "1.0.0",
  "description": "An App",
  "author": "Me",
  "private": true,
  "scripts": {
    "dev": "nuxt",
    "build": "nuxt build",
    "start": "NODE_ENV=production nuxt",
    "deploy": "npm run build && gcloud app deploy",
    "generate": "nuxt generate",
    "postinstall": "nuxt build"
  },
  "dependencies": {
    "@nuxtjs/axios": "^5.0.0",
    "@firebase/firestore": "^0.6.0",
    "@firebase/storage": "^0.2.3",
    "firebase": "^5.3.0",
    "nuxt": "^1.0.0",
    "nuxt-buefy": "^0.0.4"
  },
  "devDependencies": {
    "cross-env": "^5.0.1",
    "node-sass": "^4.9.2",
    "nuxt-sass-resources-loader": "^2.0.3",
    "sass-loader": "^7.0.3"
  }
}

以前我的startnuxt start,而我没有deploy https://github.com/kamatte-me/nuxt-gae-se/blob/master/package.json 但是仍然会出现相同的错误。

app.yaml

runtime: nodejs8
env :  standard 

我也参考并尝试了建议herehere,但没有用。请注意,我的应用程序没有server.jsapp.js,所以我不能使用它们。

更新

我使用以下方法进行了变通(因此,除非您需要其他参考,否则可以忽略上面的所有内容)。

我在https://github.com/kamatte-me/nuxt-gae-se之后添加了server.js(与它们完全相同),并将package.json更新为:

{
  "name": "my-app-name",
  "version": "1.0.0",
  "description": "A App",
  "author": "Me",
  "private": true,
  "scripts": {
    "dev": "node server.js",
    "build": "nuxt build",
    "start": "NODE_ENV=production node server.js",
    "deploy": "npm run build && gcloud app deploy",
    "generate": "nuxt generate",
    "postinstall": "nuxt build"
  },
  "dependencies": {
    "@nuxtjs/axios": "^5.0.0",
    "@firebase/firestore": "^0.6.0",
    "@firebase/storage": "^0.2.3",
    "express": "^4.16.3", //<-added this as suggested by kamette
    "firebase": "^5.3.0",
    "nuxt": "^1.0.0",
    "nuxt-buefy": "^0.0.4"
  },
  "devDependencies": {
    "cross-env": "^5.0.1",
    "node-sass": "^4.9.2",
    "nuxt-sass-resources-loader": "^2.0.3",
    "sass-loader": "^7.0.3"
  }
}

现在我的错误是这样:

enter image description here

有什么主意吗?

我在Navigation.vue中有这个

 <nuxt-link to="/" exact>Dashboard</nuxt-link>

此外,我看到的错误日志:

enter image description here

enter image description here

在按照kamatte的建议将“ nuxt-sass-resources-loader”:“ ^ 2.0.3”添加到依赖项后,我再次看到“ 500 Server Error”,日志没有显示任何有用的信息(我已经多次单击“加载较新的日志”,这是最新的...)

enter image description here

1 个答案:

答案 0 :(得分:0)

Express.js和nuxt-sass-resources-loader必须包含在package.json中。

,例如) package.json

"dependencies": {
    "express": "^4.16.3",
    "nuxt-sass-resources-loader": "^2.0.3"
},

否则,Express.js将不会安装在GAE上。 似乎有效,因为您已经在本地环境中安装了Express.js。