nuxt静态部署_Nuxt.js学习(九) --- 静态应用部署、单页应用程序部署

本文介绍了Nuxt.js的静态应用部署和单页面应用程序(SPA)的部署方法。通过`npm run generate`命令可以生成静态文件,适用于静态站点主机服务商。动态路由的生成和SPA模式的配置也在文中提及。此外,提供了在Visual Code中使用live-server预览打包效果的步骤。
摘要由CSDN通过智能技术生成

[TOC]

一、静态应用部署

官方文档:

Nuxt.js 可依据路由配置将应用静态化,使得我们可以将应用部署至任何一个静态站点主机服务商。

可利用下面的命令生成应用的静态目录和文件:

npm run generate

这个命令会创建一个 dist 文件夹,所有静态化后的资源文件均在其中。

如果你的项目需要用到动态路由,请移步 generate配置API 了解如何让 Nuxt.js 生成此类动态路由的静态文件。

注意:使用 nuxt generate 静态化应用的时候, 传给 asyncData() 和 fetch() 方法的上下文对象 不会包含 req 和 res 两个属性。

二、单页面应用程序部署 (SPA)

nuxt generate 在 build/generate 时间内仍然需要SSR引擎,同时具有预渲染所有页面的优势,并具有较高的SEO优化和页面加载能力。 内容在构建时生成。例如,我们不能将它用于内容依赖于用户身份验证或实时API的应用程序(至少对于第一次加载)。

SPA应用的想法很简单! 使用时启用SPA模式 mode: 'spa' 或 --spa,并且我们运行打包,生成在导报后自动启动,生成包含常见的meta和资源链接,但不包含页面内容。

因此,对于SPA部署,您必须执行以下操作:

将nuxt.config.js中的mode更改为spa。

运行 npm run build.

自动生成dist/文件夹,部署到您的服务器,如Surge,GitHub Pages或nginx。

另一种可能的部署方法是在spa模式下将Nuxt用作框架中的中间件。这有助于减少服务器负载,并在无法进行SSR的项目中使用Nuxt。

请参考 如何在 GitHub Pages 上部署? 查看如何部署到GitHub页面的更多详细信息。

三、操作实例

3.1、新建一个test.vue页面引入图片

"~"相当于定位到了项目根目录,图片路径不会出错,打包也是正常的

3.2、打包静态HTML并运行

用Nuxt.js制作完成后,你可以打包成静态文件并放在服务器上,进行运行。

终端输入:

npm run generate

会自动生产dist文件夹

3.3、在Visual Code中打开dist文件夹(可重命名)

首先安装live-server

npm install -g live-server

然后输入

live-server

3.4、效果(test.vue页面)

可以看到打包完成后的静态资源效果都在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nuxt.js是一个基于Vue.js的通用应用框架,可以快速构建单页应用静态网站。它帮助我们在开发过程中进行代码分离、优化性能和部署网站等方面提供了很多便利。 在默认情况下,Nuxt.js使用的是Vue Router进行路由管理,并且路由地址都是没有后缀的,即不带有.html后缀。这是为了在构建出的静态网站中提供更友好的URL形式,提高搜索引擎优化(SEO)的效果。 如果你想要在Nuxt.js的路由地址中添加.html后缀,可以通过自定义路由配置的方式来实现。首先,在你的Nuxt.js项目根目录下新建一个`router.js`文件(如果该文件已存在则跳过此步骤)。 然后,打开 `nuxt.config.js` 文件,在 `router` 配置项中加入一行代码 `router: { middleware: 'router' }`。这样,就可以将自定义的路由配置应用到项目中。 在 `router.js` 文件中,你可以使用 Vue Router 的语法来定义路由。在需要添加.html后缀的路由地址上,可以通过 `alias` 字段进行指定。例如: ```javascript import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export function createRouter() { return new Router({ mode: 'history', routes: [ { path: '/home', alias: '/home.html', component: () => import('~/pages/Home.vue') }, // 其他路由配置... ] }) } ``` 在上述代码中,`alias` 字段指定了 `/home` 路由地址的别名为 `/home.html`。当用户访问 `/home.html` 时,会显示对应的页面内容。 这样,你就可以通过自定义路由配置,将Nuxt.js的路由地址添加.html后缀啦!请注意,添加.html后缀可能会影响到默认的Nuxt.js路由功能,所以要根据你的具体需求来决定是否使用该方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值