• 初步学习Nuxt3


    Nuxt3 用于制作ssr 网页 支持vue3 所有的语法,并且支持了TypeScript, vite+vue3+composition api + ts。SPA单页面应用不能进行SEO优化,SSR应用在服务端进行渲染,渲染完成后返回给客户端,每一个页面有独立的URL对SEO友好。

    1.Nuxt3安装

      

    初始化函数
    
      npx nuxi init nuxt3-test
    
      进入项目
    
      cd nuxt3-test
    
      安装依赖包
    
      npm install
    
      运行项目
    
      npm run dev

    2.Nuxt3基础目录结构

     

      - .nuxt // 自动生成的目录,用于展示结果
    
      - node_modules // 项目依赖包存放目录
    
      - .gitignore // Git的配置目录,比如一些文件不用Git管理就可以在这个文件中配置
    
      - app.vue // 项目入口文件,你可以在这里配置路由的出口
    
      - nuxt.config.ts // nuxt项目的配置文件 ,这个里边可以配置Nuxt项目的方法面面
    
      - package-lock.json // 锁定安装时包的版本,以保证其他人在 npm install时和你保持一致
    
      - package.json // 包的配置文件和项目的启动调式命令配置 - README.md // 项目的说明文件
    
      - tsconfig.json // TypeScript的配置文件

    3.Nuxt3约定路由,嵌套路由

     根目录下新建pages 然后文件夹里面新建index.vue

     在根目录下app.vue 文件中使用<Nuxtpage>  路由的出口

    <template>
      <div>
        <NuxtPage></NuxtPage>
      </div>
    </template>

     在目录下创建demo1.vue 文件  然后就在index.vue 跳转到demo1.vue 使用NuxtLink 标签

    <template>
      <div >
        <h1>Index Page</h1>
        <NuxtLink to="/demo1">Demo1.vue</NuxtLink>
      </div>
    </template>

     创建一个嵌套路由  

              建立嵌套路由的文件夹(约定大于配置)

             创建和文件夹相同名称的文件(父页面)

        在新建文件夹下任意创建子页面

    |--pages
    |----parent/
    |------child.vue
    |----parent.vue

      parent.vue  里面引用子页面

    <template>
      <div class="">Parent Page</div>
      <!-- 子页面的出口-->
      <NuxtChild></NuxtChild>
    </template>
    
    <script setup>
    import {} from "vue";
    </script>
    
    <style scoped></style>

      

    4.Nuxt3动态路由的使用

     但参数传递只要在页面的文件名中用 [ ] 括起来就好了,例如  demo2-[id].vue

    -| pages/
    ---| index.vue
    ---| demo2-[id].vue

       参数接收使用$route.params.id 的形式

     在开发者中常使用的

    <template>
      <div class="">获取的id:{{ id }}</div>
    </template>
    
    <script setup>
    import { ref } from "vue";
    const route = useRoute();
    const id = ref(route.params.id);
    </script>
    
    <style scoped></style

     多参数的传递和获取

      如果传递的是两个参数,那么就需要建立一个文件夹在文件夹上使用[ ] 来确定参数 

    -|  pages/
    ---| index.vue
    ---| goods-[name]/
    -----| demo2-[id].vue

            页面上获取参数

    <template>
      <div class="">获取的id:{{ id }}</div>
      <div class="">获取的name:{{ name }}</div>
    </template>
    
    <script setup>
    import { ref } from "vue";
    const route = useRoute();
    const id = ref(route.params.id);
    const name = ref(route.params.name);
    </script>
    
    <style scoped></style

          页面跳转的时候

      <NuxtLink to="/goods-shangpin/demo2-38">Demo2.vue</NuxtLink>

  • 相关阅读:
    PAT (Basic Level) Practice 1020 月饼 (25分)
    PAT (Basic Level) Practice 1019 数字黑洞 (20分) (string、int转换+sort排序)
    PAT (Basic Level) Practice 1018 锤子剪刀布 (20分) (三个数比大小)
    PAT (Basic Level) Practice 1017 A除以B (20分) (大数除法+大神简洁20行代码)
    PAT (Basic Level) Practice 1016 部分A+B (15分)
    PAT (Basic Level) Practice 1015 德才论 (25分) (大量IO的节省时间)
    PAT (Basic Level) Practice 1014 福尔摩斯的约会 (20分) (string的find函数中没查找到返回s.npos)
    PAT (Basic Level) Practice (中文) 1013 数素数 (20分)
    XSY1762
    XSY1602
  • 原文地址:https://www.cnblogs.com/nmxs/p/16409206.html
Copyright © 2020-2023  润新知