nuxt3 踩坑之旅---与传统的vue项目不同之处

前言

大家好,我是你不会困,写代码就不会困,今天分享的是nuxt3 踩坑之旅---与传统的vue项目不同之处

Nuxt.js 内置了许多功能和插件,以简化 Vue.js 应用程序的开发。以下是一些常用的内置功能:

  1. 服务端渲染 (SSR): Nuxt.js 默认支持服务端渲染,可以生成用于搜索引擎优化(SEO)的静态 HTML,并在首次加载时提供更快的渲染速度。你可以使用 asyncData 或 fetch 方法在服务器端获取数据。
  2. 自动路由: Nuxt.js 根据文件系统的目录结构自动生成路由配置,你只需在 pages 目录下创建 Vue 组件,Nuxt.js 将会自动为其生成对应的路由。
  3. 静态文件服务: Nuxt.js 提供了一个静态文件服务,你可以将静态文件(如图片、样式表、JavaScript 文件等)放在 static 文件夹中,然后可以通过 / 访问这些文件。
  4. 布局组件: Nuxt.js 允许你创建全局的布局组件,使得你可以在不同的页面之间共享相同的布局结构。你可以在 layouts 目录下创建布局组件,并在页面组件中使用。
  5. 中间件: Nuxt.js 提供了中间件机制,允许你在页面渲染之前或之后执行一些逻辑。你可以使用中间件来进行身份验证、路由拦截、数据处理等操作。
  6. 插件系统: Nuxt.js 具有插件系统,允许你在应用程序中轻松添加第三方库或自定义功能。你可以在 plugins 目录中编写插件,并在配置文件中引入。

约定大于配置,所以很多东西都得去看文档,搜索引擎也没有多少可以得demo,

本文是记录nuxt3+vue3+ts+element plus的踩坑之旅

与vue项目的不同点

1.布局样式

在项目的根目录新建layouts目录,将其布局放在default.vue里面,由于我的项目头部在每一个页面都有,所以就在default.vue里面布局

头部组件代码

2.路由逻辑

约定好的路由在项目根目录下的pages,例如/home就是pages/home.vue或者是pages/home/index.vue, 这样做的好处就是不用import

你还在为满屏的import头疼?在nuxt3项目里面,这种情况会有明显的改善

我这里就是/my 和 /示例

说到路由,那你肯定会好奇路由参数要怎么获取?

很好,很不错的问题

没错,你没有看错,直接使用nuxt内部的useRoute(),这得益于nuxt,很多东西都是不用import的,细心的同学就发现了我上面的组件是导入

没错,这就是没有根据规则去创建组件,然后需要导入组件去使用

my的页面新建一个componnets来存放组件,因为页面肯定不是一个vue文件就可以写完的,有些复杂的页面就需要进行拆分,所以这里就需要手动去import

当然你也可以在项目根目录下新建一个my文件去存放,这个根据个人或者是团队的开发习惯去规范好

3.自定义指令

在vue项目下,我们习惯自定好指令,通过v-xx指令去使用,用起来很舒服,nuxt项目也是可以,但是有一定的使用规则。

在项目根目录下新建plugins/directives/index.ts,

javascript 复制代码
import clickOutsideDirective from './click-outside'
import { defineNuxtPlugin } from '#app'
// 这里就是全局注册自定义指令
export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.vueApp.directive('click-outside', clickOutsideDirective)
})
相关推荐
变与不变8067 小时前
jQuery怎么使用
前端·javascript
神膘护体小月半7 小时前
flex 布局的 order 属性
前端·css
paopaokaka_luck7 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
仰望.7 小时前
vue 表格组件 vxe-table 树表格懒加载支持拖拽排序的详细用法
前端·javascript·vue.js·vxe-table
前端 贾公子7 小时前
vite-plugin-uni-manifest 升级指南
前端
小码哥_常7 小时前
iPhone 用户传了张 HEIC,我的前端崩了
前端
小码哥_常7 小时前
你发的原图可能暴露你家地址——聊聊图片 EXIF 隐私
前端
java1234_小锋7 小时前
【技术专题】CSS3 网页技术 - CSS3 优先级
前端·css·css3
鸿蒙开发9 小时前
共享 Schema 与 SchemaFactory
前端·后端·harmonyos
屏什么录9 小时前
录屏超过两小时就卡顿崩盘?从参数调优到代码实现,一文彻底搞定长时间录屏
前端·音视频开发