如何将Nuxt.js部署至 Google App Engine?

部署到 Google App Engine 是在Google云服务上托管通用Nuxt应用程序的快速而简单的解决方案。

在本指南中,我们在本地构建应用程序,然后将整个项目文件夹上传到Google App Engine。 上传后,Google App Engine将自动启动package.json中的 start 脚本,您的应用程序将立即可用。

入门

确保您在 Google App Engine 上设置了Google云帐户,项目和空的Google App Engine应用程序。 此外,请务必按照 此处 中的说明从Google下载并安装 Cloud SDK (CLI),然后登录您的Google Cloud帐户。

配置您的应用程序

您需要添加名为 app.yaml 的文件到通用Nuxt应用程序将其部署到App Engine上。 在根项目目录中创建具有该名称的新文件,并添加以下内容:

  1. runtime: nodejs10
  2. instance_class: F2
  3. handlers:
  4. - url: /_nuxt
  5. static_dir: .nuxt/dist/client
  6. secure: always
  7. - url: /(.*\.(gif|png|jpg|ico|txt))$
  8. static_files: static/\1
  9. upload: static/.*\.(gif|png|jpg|ico|txt)$
  10. secure: always
  11. - url: /.*
  12. script: auto
  13. secure: always
  14. env_variables:
  15. HOST: '0.0.0.0'
  16. NODE_ENV: 'production'

构建和部署应用程序

现在用 npm run build 构建你的应用程序。

此时,您的应用已准备好上传到Google App Engine。 现在运行以下命令:

  1. gcloud app deploy app.yaml --project

您的Nuxt.js应用程序现在托管在Google App Engine上!

更多信息

  • app.yaml文件中的 instance_class 属性设置应用实例的类。 Instance F2不是完全免费的,但具有运行Nuxt应用程序所需的最小内存。
  • 确保将 project-id 而不是 project-name 放在 deploy 命令中。 这是两件不同的事情,但容易混淆。