前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初步学习Nuxt3

初步学习Nuxt3

作者头像
用户1197315
发布2022-06-27 13:00:40
1.1K0
发布2022-06-27 13:00:40
举报
文章被收录于专栏:柠檬先生柠檬先生

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

1.Nuxt3安装

代码语言:javascript
复制
初始化函数

  npx nuxi init nuxt3-test

  进入项目

  cd nuxt3-test

  安装依赖包

  npm install

  运行项目

  npm run dev

2.Nuxt3基础目录结构

代码语言:javascript
复制
  - .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>  路由的出口

代码语言:javascript
复制
<template>
  <div>
    <NuxtPage></NuxtPage>
  </div>
</template>

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

代码语言:javascript
复制
<template>
  <div >
    <h1>Index Page</h1>
    <NuxtLink to="/demo1">Demo1.vue</NuxtLink>
  </div>
</template>

 创建一个嵌套路由  

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

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

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

代码语言:javascript
复制
|--pages
|----parent/
|------child.vue
|----parent.vue

  parent.vue  里面引用子页面

代码语言:javascript
复制
<template>
  <div class="">Parent Page</div>
  <!-- 子页面的出口-->
  <NuxtChild></NuxtChild>
</template>

<script setup>
import {} from "vue";
</script>

<style scoped></style>

4.Nuxt3动态路由的使用

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

代码语言:javascript
复制
-| pages/
---| index.vue
---| demo2-[id].vue

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

 在开发者中常使用的

代码语言:javascript
复制
<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

 多参数的传递和获取

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

代码语言:javascript
复制
-|  pages/
---| index.vue
---| goods-[name]/
-----| demo2-[id].vue

        页面上获取参数

代码语言:javascript
复制
<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>

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档