首页 > 解决方案 > 使用构建文件在 Azure 上启动 Nuxt SSR 应用

问题描述

根据这个 Nuxt 文档页面,一旦我运行yarn build,“Nuxt.js 将创建一个 .nuxt 目录,其中包含准备好部署在您的服务器托管上的所有内容。”

根据其他一些演练 还有一些其他必需项:、和。 static/**package.jsonnuxt.config.js

其中一篇文章以及Nuxt 页面上关于使用 IIS 部署到 Azure的说明说server.js需要一个文件,但我想坚持“内部所有东西都可以部署”。我的 Azure 应用服务是针对 Linux 而不是 IIS 设置的。

但是,在我部署这些文件/文件夹npm run start(映射到nuxt start)后,会引发错误,即 nuxt 不是可识别的命令。这是有道理的,因为我还没有安装软件包。

我也试过用node .nuxt/server.jsand启动 ssr 应用程序node .nuxt/dist/server/server.js。这些都不起作用。

我真的很想坚持所说的“Nuxt.js 将创建一个 .nuxt 目录,其中的所有内容都准备好部署在您的服务器托管上”,而不是在部署后复制node_modules或必须复制npm install

我在这里缺少哪些文件或命令,这甚至可能吗?

nuxt.config.js

export default {
  // Global page headers: https://go.nuxtjs.dev/config-head
  head: {
    title: "test-nuxt-app",
    htmlAttrs: {
      lang: "en"
    },
    meta: [
      { charset: "utf-8" },
      { name: "viewport", content: "width=device-width, initial-scale=1" },
      { hid: "description", name: "description", content: "" }
    ],
    link: [{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" }]
  },

  // Global CSS: https://go.nuxtjs.dev/config-css
  css: [],

  // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
  plugins: [],

  // Auto import components: https://go.nuxtjs.dev/config-components
  components: true,

  // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
  buildModules: [],

  // Modules: https://go.nuxtjs.dev/config-modules
  modules: [],

  // Build Configuration: https://go.nuxtjs.dev/config-build
  build: {}
};

标签: azurevue.jsdeploymentnuxt.jsserver-side-rendering

解决方案


默认值是ssr: truetarget: server到目前为止,我想这是 100% 确定您需要提取最新的代码更改,然后安装 npm 包并运行命令来启动您的网络服务器(通过节点服务器)。

我确实建议尝试target: static然后使用 生成项目nuxt generate,然后您生成的所有代码都将作为静态代码提供,/dist如下所示:https ://stackoverflow.com/a/63638062/8816585

然后,您只需要一些东西(所有软件包都已捆绑),您可以遵循 Azure 静态 Web 应用程序的官方文档:https ://nuxtjs.org/docs/2.x/deployment/deployment-azure -静态网络应用程序

它不是 Azure,只是出于调试目的,您可以尝试拖放/dist目录,看看它是否在这里工作:https:
//app.netlify.com/drop Ofc,将需要任何 env 变量(如果有的话)。我刚刚针对您的问题测试了一个全新的项目,效果很好。

如果它在那里工作,它将在 Azure 或任何其他可以免费托管静态文件的地方工作,如 Github pages、Netlify、Surge.sh 等。


推荐阅读