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>

初步学习Nuxt3的更多相关文章

  1. json2.js的初步学习与了解

    json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...

  2. 老周的ABP框架系列教程 -》 一、框架理论初步学习

    老周的ABP框架系列教程 -- 一.框架理论初步学习   1. ABP框架的来源与作用简介 1.1  简介 1.1.1       ABP框架全称为"ASP.NET Boilerplate ...

  3. 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...

  4. EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库

    前提:搭建成功codefirst相关代码,参见EF Codefirst  初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...

  5. 初步学习python

    自计算机诞生以来,也伴随着计算机语言的诞生,现在,全世界的编程语言有600多种,但流行的编程语言也就20多种. Java和C一直占据着前两名.但是近年来伴随着人工智能的发展,Python发展迅猛,以其 ...

  6. Git的初步学习

    前言 感谢! 承蒙关照~ Git的初步学习 为什么要用Git和Github呢?它们的出现是为了用于提交项目和存储项目的,是一种很方便的项目管理软件和网址地址. 接下来看看,一家公司的基本流程图: 集中 ...

  7. 语法分析器初步学习——LISP语法分析

    语法分析器初步学习——LISP语法分析 本文参考自vczh的<如何手写语法分析器>. LISP的表达式是按照前缀的形式写的,比如(1+2)*(3+4)在LISP中会写成(*(+ 1 2)( ...

  8. 状态保持以及AJAX的初步学习

    嘿嘿,今天学习的有点迷茫哦,主要学习把验证码使用在登录页面时间的一些逻辑,学习这个时间并没有那么的迷惑哦,可是自己写程序时间倒是有点反应迟钝,不过还好总是在最后搞清楚啦,另外就是一步一步的学习是接近项 ...

  9. LinQ的初步学习与总结

    嘿嘿,说起来ORM和LinQ,就感觉离我好遥远的,在学校是没有学习的,所以总感觉学习了LinQ就是大神,现在嘛,终于也体会一点,感觉LinQ只是初步学习,没有太难,当然以后使用在项目中就没有这样的简单 ...

  10. Android NDK开发及OpenCV初步学习笔记

    https://www.jianshu.com/p/c29bb20908da Android NDK开发及OpenCV初步学习笔记 Super_圣代 关注 2017.08.19 00:55* 字数 6 ...

随机推荐

  1. 【YashanDB知识库】收集分区表统计信息采样率小于1导致SQL执行计划走偏

    [问题分类]性能优化,BUG [关键字]分区表,统计信息,采样率 [问题描述]收集表(分区表)级别的统计信息时,如果采样率小于1,dba_ind_statistics中partition_name i ...

  2. docker network macvlan

    ref: Docker 网络模型之 macvlan 详解,图解,实验完整 网卡也能虚拟化?网卡虚拟化技术 macvlan 详解 docker和macvlan与host互通  

  3. 深入理解JavaScript中的try catch finally

    在日常开发中,我们经常使用try catch 来捕捉错误,来提升应用程序的健壮性,但是,大部分时候,只是惯性使用,很少静下来去深入理解一下try catch finally,所以本文将对try cat ...

  4. I found that CTH has no RP when i tried to reduce his RP

  5. Maya 2019.2 Mtoa 无法正常加载并报错

    事件起因: 在开始安装 Maya2019.2 时自动安装的 Mtoa 的版本为 5.3.1,但是在插件管理器里无法启用插件,于是乎去网上下了一个低的版本 5.1.1,虽然可以使用但是渲染出来的东西不能 ...

  6. Windows系统无法打开‘’网络发现‘’功能

    Windows10无法开启网络发现 解决办法: 1. services.msc 2. 开启 SSDP Discovery ,设置 启动类型为 自动 ,服务状态为 启动 Windows7 无法开启网络发 ...

  7. AD域下,域管理员网络无法正常连接

    排错思路:1.是否拥有上网权限, test 超级管理员自然是有上网权限的(该项排除): 2.浏览器是否使用了代理 ,有些软件在安装的时候,会自动启用浏览器的代理,开启某些特定的端口: 3.其他原因 解 ...

  8. 八字测算引流seo程序php网页版黄历/排盘/抽签/星座/生肖/解梦整站程序分享

    2演示站: https://s31.yczfcn.com/ 2源码说明: 1.手机端和PC端共两套模板,手机端访问时候自动跳转至手机端模板和域名. 2.本程序包含文章系统,结合自身的免费测算功能,适合 ...

  9. 配置linux的远程登录操控 ssh 配置密钥

    1. 安装ssh服务 yum install openssh-server 启动服务 service ssh start ssh 的配置文件位置 ect/ssh/sshd_config 001. 把P ...

  10. 什么是SPA页面,它的优缺点?

    什么是SPA spa是单页面应用(single page web application),浏览器会一开始就加载所需要的html.css.javascript.一旦页面加载完毕,整个页面就不会因为用户 ...