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. shiro的rememberMe各种漏洞一刀切解决

    rememberMe的低版本AES固定密码导致的漏洞,高版本仍然有被爆破,穷举的风险等.这种东西总是在安全检测的时候被拿出来说事儿,然而项目中并未开启rememberMe,也就是说压根不需要这个功能. ...

  2. android 反编译APK取源代码。

    坑,自己写的Android APK 程序,发现线上版本是 1.9.4 ,本地的代码版本却是 1.9.1.不知道到底怎么回事,svn里面也没有日志记录.....只能从线上apk反编译来看看了,幸好这个升 ...

  3. SQL Server CTE (Common Table Expression) 公用表表达式

    参考: Sql - CTE公用表表达式和With用法总结 YouTube – SQL WITH Clause | How to write SQL Queries using WITH Clause ...

  4. Naming Conversion & Case Style 命名规范

    前言 写代码有 2 个点很重要 第一是表达 (不要词不达意) 要达到这点, 就要多参考其它人如何表达. 第二是一致性 (一样的东西就用一样的写法) 要达到这点就要建立规范 以前的笔记 命名规范 nam ...

  5. C++ STL stack容器——栈

    stack容器 基本概念 stack是一种先进后出的数据结构,它只有一个出口,形式如下图所示.stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何地方可以存取stack的娶她 ...

  6. CTFSHOW pwn03 WrriteUp

    本文来自一个初学CTF的小白,如有任何问题请大佬们指教! 题目来源 CTFShow pwn - pwn03 (ret2libc) https://ctf.show/challenges 思路 1.下载 ...

  7. JIT编译选项

    JIT(Just-In-Time)优化在编译过程中有多种编译选项可以支持,不同语言和平台可能有不同的实现.以通用的 JIT 编译器为例,以下是一些常见的编译选项: 编译级别(Compilation L ...

  8. USB PD和USB TYPE-C 的区别

    USB Power Delivery (USB PD) 和 USB Type-C 是两个不同但相关的技术标准,它们在功能和应用上有所区别. 1. USB Type-C 连接器标准: USB Type- ...

  9. WebAssembly C++开发环境搭建

    WebAssembly 开发环境搭建 简介 WebAssembly 是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸 ...

  10. Android复习(二)应用资源——>样式

    样式资源定义界面的格式和外观.样式可应用于单个 View(从布局文件中)或应用于整个 Activity 或应用(从清单文件中). 如需详细了解如何创建和应用样式,请参阅样式和主题. 注意:样式是使用  ...