azure - 使用构建文件在 Azure 上启动 Nuxt SSR 应用
问题描述
根据这个 Nuxt 文档页面,一旦我运行yarn build
,“Nuxt.js 将创建一个 .nuxt 目录,其中包含准备好部署在您的服务器托管上的所有内容。”
根据其他一些演练 ,还有一些其他必需项:、和。 static/**
package.json
nuxt.config.js
其中一篇文章以及Nuxt 页面上关于使用 IIS 部署到 Azure的说明说server.js
需要一个文件,但我想坚持“内部所有东西都可以部署”。我的 Azure 应用服务是针对 Linux 而不是 IIS 设置的。
但是,在我部署这些文件/文件夹npm run start
(映射到nuxt start
)后,会引发错误,即 nuxt 不是可识别的命令。这是有道理的,因为我还没有安装软件包。
我也试过用node .nuxt/server.js
and启动 ssr 应用程序node .nuxt/dist/server/server.js
。这些都不起作用。
我真的很想坚持所说的“Nuxt.js 将创建一个 .nuxt 目录,其中的所有内容都准备好部署在您的服务器托管上”,而不是在部署后复制node_modules
或必须复制npm install
。
我在这里缺少哪些文件或命令,这甚至可能吗?
- 节点版本为 14.16
- Nuxt 版本是 2.15.3 版的全新安装
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: {}
};
解决方案
默认值是ssr: true
,target: 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 等。