• Nuxt3 初学,基础配置,页面结构搭建,引入element


    1.下载Nuxt框架

    Nuxt 中文站 - 直观的Web框架 Nuxt3文档 · NuxtNuxt是一个开源框架,它使web开发直观而强大。自信地创建高性能和生产级全栈web应用程序和网站。icon-default.png?t=N7T8https://www.nuxt.com.cn/根据官方文档进行配置

    2.配置页面 

    1.主要页面结构

    导航栏+内容+底部

    1.在components文件夹里面写公共的头部和底部

    2.在layouts文件夹里面创建default.vue文件组装整体页面布局

    details.vue是我的详情页布局没有头部和底部,我自定义的,不需要可以不用

     default.vue文件内容

    1. <template>
    2. <div>
    3. <AppHead>AppHead>
    4. <div class="min_h">
    5. <slot>slot>
    6. div>
    7. <AppFooter>AppFooter>
    8. div>
    9. template>
    10. <style>
    11. // 引入我自己的全局公共样式
    12. @import url("~/assets/scss/AppOverall.scss");
    13. style>

     details.vue文件内容

    1. <template>
    2. <div>
    3. <div class="flex-center">
    4. <slot>slot>
    5. div>
    6. div>
    7. template>
    8. <style>
    9. // 引入我自己的全局公共样式
    10. @import url("~/assets/scss/AppOverall.scss");
    11. style>
    3.在pages文件夹里面创建index.vue

    pages文件夹里面的页面内容就是布局里面的slot插槽的内容

     index.vue页面内容

    1. <template>
    2. <div class="body">
    3. <ClientOnly fallback-tag="span" fallback="">
    4. <el-button @click="navigateTo('/404')">详情el-button>
    5. ClientOnly>
    6. <div class="box">
    7. div>
    8. <div class="box">
    9. div>
    10. <div class="box">
    11. div>
    12. <div class="box">
    13. div>
    14. <div class="box">
    15. div>
    16. <div class="box">
    17. div>
    18. div>
    19. template>
    20. <script lang='ts' setup>
    21. useSeoMeta({
    22. title: '首页',
    23. description: '网页描述',
    24. author: '作者',
    25. })
    26. // 引入接口
    27. // import { index } from '~/api'
    28. script>
    29. <style scoped lang="scss">
    30. .box{
    31. margin: auto;
    32. width: 500px;
    33. height: 500px;
    34. border: 1px solid #000;
    35. background-color: pink;
    36. }
    37. style>
    4.在app.vue页面配置页面结构
    1. <template>
    2. <div>
    3. <NuxtLayout>
    4. <NuxtPage/>
    5. NuxtLayout>
    6. div>
    7. template>

     使用npm run dev启动项目 这个是自己在package.json文件配置的有可能不一样

    到这里应该可以看到自己写的页面了 

    2.页面结构切换

    1.全局布局切换 

    根据权限修改布局,设置了全局布局,单页面布局设置就不会生效

    1. <template>
    2. <div>
    3. <NuxtLayout :name="layout">
    4. <NuxtPage/>
    5. NuxtLayout>
    6. div>
    7. template>
    8. <script setup>
    9. // 设置全局布局 默认default 可以根据权限修改布局 修改单个页面在单页面修改
    10. const layout = "default";
    11. // 全局使用图标
    12. import * as ElementPlusIconsVue from '@element-plus/icons-vue'
    13. const nuxtApp = useNuxtApp()
    14. for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    15. nuxtApp.vueApp.component(key, component)
    16. }
    17. script>
    2.单页面布局切换

     

    默认使用default里面的布局

    新建自定义布局 比如取消头部导航栏和底部导航栏

    在需要修改布局的页面的script里面设置layout为你想使用的布局的文件名称 

    1. definePageMeta({
    2. layout: 'custom'
    3. })

    3.引入字体图标

    1.把需要的图标加入到文件夹选择class引入,复制链接

    2.在app.vue页面的style标签里面引入链接 

    这个是nuxt3的引入样式的方式

    @import url("//at.alicdn.com/t/c/font_4465528_nr09v8ge4j.css");

    3.页面使用图标

     iconfont 是固定加的类名 

    icon-add-bold 是你想使用的图标的名称 在阿里巴巴里面放到你想用的图标上面点复制代码

     

    class="iconfont icon-add-bold">

     4.添加样式

    通过i标签或者类名id来修改  图标大小,颜色,粗细等样式

    1. class="take">
    2. <i class="iconfont icon-add-bold">i>订阅
    1. .take {
    2. width: 59px;
    3. border-radius: 64px;
    4. font-size: 13px;
    5. display: flex;
    6. justify-content: center;
    7. align-items: center;
    8. padding: 3px 0;
    9. background-color: #fff;
    10. color: $color;
    11. border: 1px solid red;
    12. font-weight: 700;
    13. i {
    14. font-size: 12px;
    15. margin-right: 2px;
    16. font-weight: 600;
    17. }
    18. }

    5.效果 

     

     每天更新一点,可以收藏关注

  • 相关阅读:
    ​LeetCode解法汇总2216. 美化数组的最少删除数
    在阿里干了6年自动化测试,30岁即将退休的我,告诉你自动化测试工程师有多吃香...
    2049. 统计最高分的节点数目-数组树构造+遍历求解最大值数目
    【计算机视觉】相机
    新研一暑假计划
    模块打包器Webpack详解!
    求免费好用的问卷调查平台!
    C#/.NET学习值得推荐的在线论坛和技术社区
    MyBatisPlus的in方法入参数量过多导致的JVM频繁FullGC案例
    HDMI之HDCP 2.3
  • 原文地址:https://blog.csdn.net/weixin_70563937/article/details/136660546