【实用】nuxt3工程项目的一些目录理解

embedded/2025/3/6 1:32:34/

一、components目录

        公共组件目录,不需要像vue2/vue3工程一样,在需要使用的组件内必须手动引入,Nuxt 会自动导入此目录中的任何组件(以及您可能正在使用的任何模块注册的组件)

使用案例:

在conponents文件夹内新建SideMenu.vue文件和user文件夹,文件夹下新建Info.vue组件

SideMenu.vue

<template><div><el-menudefault-active="2"class="el-menu-vertical-demo"@open="handleOpen"@close="handleClose"><el-sub-menu index="1"><template #title><el-icon><location /></el-icon><span>Navigator One</span></template><el-menu-item-group title="Group One"><el-menu-item index="1-1">item one</el-menu-item><el-menu-item index="1-2">item two</el-menu-item></el-menu-item-group><el-menu-item-group title="Group Two"><el-menu-item index="1-3">item three</el-menu-item></el-menu-item-group><el-sub-menu index="1-4"><template #title>item four</template><el-menu-item index="1-4-1">item one</el-menu-item></el-sub-menu></el-sub-menu><el-menu-item index="2"><el-icon><icon-menu /></el-icon><span>Navigator Two</span></el-menu-item><el-menu-item index="4"><el-icon><setting /></el-icon><span>Navigator Four</span></el-menu-item></el-menu></div>
</template>
<script setup>
const handleOpen = ()=>{}
const handleClose = ()=>{}
</script>

Info.vue

<template><div><h1>User Info Page</h1></div>
</template>
<script setup>
</script>

在需要使用公共组件的页面可以直接使用

<template><el-container><el-aside :width="sideWidth"><side-menu></side-menu></el-aside><el-container><el-header>头部</el-header><el-main><NuxtPage></NuxtPage></el-main><el-footer>底部</el-footer></el-container></el-container>
</template>
<script setup>
const sideWidth = ref('200px')
</script>
<style lang="less" scoped>
.el-container{height: 100%;}
</style>

而Info组件名称将基于其自身的路径目录和文件名,重复的部分将被删除。因此,该组件的名称将是<UserInfo/>

如果您想根据组件的名称而不是路径自动导入组件,则需要使用配置对象的扩展形式将 pathPrefix 选项设置为 false

export default defineNuxtConfig({components: [{path: '~/components',pathPrefix: false,},],
});

这样配置之后就可以直接使用<Info/>组件或者<LazyInfo/>后者实现懒加载

二、layouts文件夹

公共布局使用,用于将通用的 UI 模式提取到可重用的布局中

default.vue

<template><el-container><el-aside :width="sideWidth"><side-menu></side-menu></el-aside><el-container><el-header>头部</el-header><el-main><NuxtPage></NuxtPage></el-main><el-footer>底部</el-footer></el-container></el-container>
</template>
<script setup>
const sideWidth = ref('200px')
</script>
<style lang="less" scoped>
.el-container{height: 100%;}
</style>

除了<NuxtPage/>组件会通过路由渲染后的内容替换,其他内容会出现在所有页面

三、pages文件夹

Nuxt 将自动为你的 ~/pages/ 目录中的每个页面创建一个路由

index.vue组件会默认渲染到<NuxtPage/>组件中,micro.vue则会匹配到/micro路由地址后被渲染

四、plugin文件夹

参考上期文章对axios使用的封装


http://www.ppmy.cn/embedded/170350.html

相关文章

C++11特性(笔记二lambda,function)

目录 一.新的类功能 二. lambda 三. 包装器&#xff08;function&#xff09; 四.bind 一.新的类功能 1. 默认的移动构造和移动赋值 C11 新增了两个默认成员函数&#xff0c;移动构造函数和移动赋值运算符重载。 如果你提供了移动构造或者移动赋值&#xff0c;编译器不会自…

机器学习校招面经二

快手 机器学习算法 一、AUC&#xff08;Area Under the ROC Curve&#xff09;怎么计算&#xff1f;AUC接近1可能的原因是什么&#xff1f; 见【搜广推校招面经四】 AUC 是评估分类模型性能的重要指标&#xff0c;用于衡量模型在不同阈值下区分正负样本的能力。它是 ROC 曲线…

SpaCy处理NLP的详细工作原理及工作原理框图

spaCy处理NLP的详细工作原理及工作原理框图 spaCy处理NLP的详细工作原理 spaCy是一个基于Python的开源自然语言处理&#xff08;NLP&#xff09;库&#xff0c;它提供了一系列高效且易用的工具&#xff0c;用于执行各种NLP任务&#xff0c;如文本预处理、文本解析、命名实体识…

centos和ubuntu下安装redis

1&#xff0c;判断环境是否有gcc gcc --version 如果未安装则执行 yum install -y gcc tcl 2&#xff0c;安装包下载,编译安装 cd /usr/local mkdir redis wget https://download.redis.io/releases/redis-4.0.11.tar.gz tar -xvf redis-4.0.11.tar.gz cd redis-4.0.11 编译 m…

c语言笔记 指针篇(上)

1.指针 在计算的存储器中有很多的存储单元&#xff0c;我们的操作系统把这些存储单元以字节为单位进行编号&#xff0c;也就是每个存储单元&#xff08;字节&#xff09;&#xff0c;都有编码。这些编码在我们内存中就称为地址。一个字节有八位&#xff0c;位是存储信息的最小…

接口测试工具:postman详解

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 Postman 是一款功能强大的 API 开发和测试工具&#xff0c;以下是一些高级用法的详细介绍和操作步骤。 一、环境和全局变量 环境变量允许你设置特定于环境&#…

【云原生之kubernetes实战】在k8s环境下部署Vikunja任务管理工具

【云原生之kubernetes实战】在k8s环境下部署Vikunja任务管理工具 前言一、Vikunja介绍1.1 Vikunja简介1.2 Vikunja主要特点1.3 使用场景二、kubernetes介绍2.1 kubernetes简介2.2 kubernetes特点三、本次实践介绍3.1 本次实践简介3.2 本次环境规划四、检查k8s环境4.1 检查工作节…

FlashMLA(DeepSeek开源周,第一个框架):含源码分析

1. 概述 FlashMLA 是由 DeepSeek 原创开发的一种深度学习框架&#xff0c;专门用于加速多头注意力机制&#xff08;MLA&#xff09;架构的推理过程。它通过优化内存管理和计算效率&#xff0c;显著提升了模型在高性能 GPU 上的推理速度。FlashMLA 主要适用于 DeepSeek 的架构模…