Nuxt2快速上手(一)路由、异步数据、中间件等

文章介绍了Nuxt2的基础知识,包括安装项目、动态路由配置、参数校验、路由动画、全局与局部过渡、路由守卫、异步数据的Promise方式处理、插件使用、中间件和Vuex状态管理。还提到了nuxt.config.js的常用配置以及axios的使用。
摘要由CSDN通过智能技术生成


在这里插入图片描述

我们这里先学习一下Nuxt2,日后再学习Nuxt3

安装项目

npx create-nuxt-app <项目名>

路由

Nuxt.js 会依据 pages 目录中的所有 *.vue 文件生成应用的路由配置
也就是说我们直接配置就可以了,page结构对应页面结构

我们在pages目录下,我们可以看到在.next目录下,有相关的路由文件生成,这里是nuxt直接帮我们做的

动态路由(摘自官网)

在 Nuxt.js 里面定义带参数的动态路由,需要创建对应的以下划线作为前缀的 Vue 文件 或 目录
在这里插入图片描述
Nuxt.js 生成对应的路由配置表为

router: {
  routes: [
    {
      name: 'index',
      path: '/',
      component: 'pages/index.vue'
    },
    {
      name: 'users-id',
      path: '/users/:id?',
      component: 'pages/users/_id.vue'
    },
    {
      name: 'slug',
      path: '/:slug',
      component: 'pages/_slug/index.vue'
    },
    {
      name: 'slug-comments',
      path: '/:slug/comments',
      component: 'pages/_slug/comments.vue'
    }
  ]
}

参数校验

Nuxt.js 提供了一个校验参数的方法validate

export default {
  validate({ params }) {
    // 必须是number类型
    return /^\d+$/.test(params.id)
  }
}

路由动画效果

全局过渡

我们找到配置的公共的css样式,里面添加两种配置
在nuxt.config.js配置文件中,这个地方指定了配置文件

module.exports = {
	css:[
		'@/assets/gobal.css'
	]
}
.page-enter-active{
	
}
.page-leave-active{
	
}

局部过渡

路由守卫(全局、局部)

异步数据

Nuxt.js 提供了asyncData的方法,使得我们可以设置组件的数据之前能异步获取或处理数据
Nuxt.js 有多种调用asyncData的方式

Promise方式

export default {
  asyncData({ params }) {
    return axios.get(`https://my-api/posts/${params.id}`).then(res => {
      return { title: res.data.title }  // 相当于data中的数据,可以{{}}进行调用
    })
  }
}

插件

nuxt 根目录下有一个plugins文件夹,这里就是平常存放插件的文件目录,然后通过nuxt.config.js中plugins配置,就可以使用插件了
Nuxt.js 允许您在运行 Vue.js 应用程序之前执行 js 插件。这在您需要使用自己的库或第三方模块时特别有用。

Layers

中间件 - middleware

Vuex状态树

API(这里只说一些关键的API)

asyncData

nuxt.js 允许在组件渲染之前进行异步获取数据

  • 在服务端渲染期间,asyncData方法会在组件实例化之前被调用,以确保在渲染HTML之前获取到数据
  • 在客户端渲染期间,asyncData方法会在路由参数发生变化时被调用,以确保切换路由时获取到最新的数据

因此,asyncData方法可以在服务端和客户端两个环境中获取数据,并且可以确保在组件渲染之前获取数据,从而保证了页面的性能和可访问性

关键的一些包

nuxt/axios

本人另一篇博客(Nuxt.js - nuxt/axios)

nuxt.config.js 常用的一些配置

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李和贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值