Nuxt3 实战 (一):初始化项目

简介: 这篇文章介绍了Nuxt框架的基本信息,包括什么是Nuxt以及Nuxt3的优点。文章还介绍了Nuxt3的一些特点,如服务端渲染和静态站点生成、模块化、文件系统路由等。此外,文章还提供了项目安装的步骤和目录结构。最后,文章提到了下一步计划,即配置 Eslint、Prettier、Husky、lint-staged、commitlit项目提交规范的过程。

什么是 Nuxt

Nuxt 是一个建立在 Vue.js 上的服务器端渲染框架。它抽象出了管理异步数据、中间件和路由所涉及的大部分复杂配置。它还有助于使用行业标准架构来构造 Vue.js 应用程序,以构建简单或企业级的 Vue.js 应用程序。

Nuxt3 的优点

  • 基于 Vue3 的优势:Nuxt3 充分利用了 Vue3 的所有优点,包括性能优化、响应式编程和更好的 TypeScript 支持。Vue3 的 Composition API 使得代码更加灵活和可复用,为大型项目提供了更好的组织和管理方式。
  • 服务端渲染(SSR)和静态站点生成(SSG):Nuxt3 支持服务端渲染和静态站点生成,这有助于解决单页应用(SPA)中的 SEO 问题,提高页面加载速度,从而改善用户体验。
  • 模块化:Nuxt3 具有丰富的模块化生态系统,使得开发者能够轻松地扩展应用的功能,减少开发工作量。通过模块化的方式,开发者可以更加高效地组织和管理代码,提高开发效率。
  • 文件系统路由:Nuxt3 的文件系统路由允许开发者通过简单的文件和目录结构来组织应用路由,使得开发过程更加简洁明了。这有助于减少配置工作量,提高开发效率。
  • 开箱即用:Nuxt3 提供了许多开箱即用的功能,如状态管理、中间件、页面过渡动画等,使得开发过程更加简单和高效。这些功能可以帮助开发者快速构建出功能完善的 Web 应用程序。
  • 性能优化:Nuxt3 通过使用最新的 Web 技术和优化技巧,提供了更好的性能和更快的加载速度。无论是服务端渲染还是静态站点生成,Nuxt3 都能帮助开发者提高应用的性能表现。
  • 灵活的配置和插件系统:Nuxt3 提供了更灵活的配置选项和插件系统,使得开发者能够根据自己的需求进行定制和优化。这使得 Nuxt3 具有很高的可扩展性和灵活性,能够满足各种复杂的开发需求。

环境要求

项目安装

  1. 打开一个终端(如果你使用的是 Visual Studio Code,你可以打开一个集成终端) 并使用以下命令创建一个新的入门项目:
pnpm dlx nuxi@latest init <project-name>
  1. 打开项目文件夹:
code <project-name>
  1. 安装依赖项:
# 在运行 pnpm install 之前,确保你在 `.npmrc` 中有 `shamefully-hoist=true`
pnpm install
  1. 现在您将能够在开发模式下启动您的 Nuxt 应用程序:
pnpm dev -o

上面步骤完成之后! http://localhost:3000 的浏览器窗口应该会自动打开。

1wcru3930fg5qt959yygp9si00ie3rra.png

目录结构

📁 .nuxt // Nuxt在开发中使用.nuxt/目录来生成你的Vue应用程序。
📁 .output // 当构建你的应用程序用于生产时,Nuxt 会创建 .output/ 目录。
📁 assets // 用于添加所有将由构建工具处理的网站资产。
📁 components // 放置所有 Vue 组件的地方。
📁 composables // 将你的Vue组合式函数自动导入到你的应用程序中。
📁 content // 为你的应用创建一个基于文件的内容管理系统(CMS)。
📁 layouts // Nuxt 提供了一个布局框架,用于将常见的 UI 模式提取为可重用的布局。
📁 middleware // Nuxt 提供了中间件来在导航到特定路由之前运行代码。
📁 modules // 在应用程序中自动注册本地模块。
📁 node_modules // 包管理器会将项目的依赖存储在 node_modules/ 目录中。
📁 pages // Nuxt 提供了基于文件的路由功能,用于在你的 Web 应用中创建路由。
📁 plugins // Nuxt拥有一个插件系统,可以在创建Vue应用程序时使用Vue插件和其他功能。
📁 public // 用于提供网站的静态资源。
📁 server // 用于在应用程序中注册API和服务器处理程序。
📁 utils // 在整个应用程序中自动导入你的工具函数。
📄 .env // 用于指定构建和开发环境变量。
📄 .gitignore // 指定了Git应该忽略的故意未跟踪的文件。
📄 .nuxtignore // 允许 Nuxt 在构建阶段忽略项目根目录下的文件。
📄 app.vue // Nuxt 应用的主要组件,入口文件。
📄 app.config.ts // 使用App Config文件在应用程序中公开响应式配置。
📄 nuxt.config.ts // Nuxt可以通过一个单独的nuxt.config文件进行简单配置。
📄 package.json // 包含了应用程序的所有依赖项和脚本。
📄 tsconfig.json // Nuxt会根据你在Nuxt项目中使用的别名,以及其他合理的默认值,自动生成一个`.nuxt/tsconfig.json`文件。

总结

后续开发会以 Nuxt 为核心,开发一个类似这样的网址导航页面,为此来探索 Nuxt 其中的奥秘:Design Notes

6f36cm26s0ghy7muswcijojad7m52tnp.png

我会在此基础上加入我的一些设计和想法,致力于提高用户体验。

开发周期可能会有点长,但我会记录在开发中所遇到的问题和解决的办法,并记录在 Nuxt实战系列 中,后期会使用 Prisma 数据库存储数据,最终完成一个基于 Nuxt 的全栈项目。

Todo

配置 Eslint、Prettier、Husky、lint-staged、commitlit项目提交规范

相关文章
|
数据采集 前端开发 JavaScript
我是如何使用 Next.js14 + Tailwindcss 重构个人项目的
这篇文章介绍了作者在学习React和Nest时受到大佬imsyy项目DailyHot的启发,基于React开发了一个项目,并因为这个项目获得了少量流量而进行了优化。作者随后因为想要优化SEO和深入学习Next.js14,决定重构这个项目。文章详细介绍了项目的信息、特性、演示图、运行环境、Vercel本地部署步骤以及责任声明。作者还感谢了为本项目提供支持与灵感的项目,并承诺会记录下开发过程中遇到的问题及解决方法以帮助他人。
355 0
我是如何使用 Next.js14 + Tailwindcss 重构个人项目的
|
算法 生物认证 开发工具
Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing
你的应用程序收集的设备信息可能包括以下一些:attributesOfItemAtPath:error:, NSLocaleCountryCode, NSFileSystemSize, NSHomeDirectory,和serviceSubscriberCellularProviders。
1278 0
|
JavaScript 前端开发 搜索推荐
Nuxt4.0初体验:一个简约、精美、现代化的个人站点导航!
这篇文章介绍了作者使用Nuxt 4.0重构个性化站点导航网站的经历,阐述了Nuxt 4.0的新特性和优势,如更清晰的项目结构、更好的TypeScript体验、更快的CLI和开发速度等,并且分享了重构过程中的体验和项目完成效果。同时,作者还对比了Nuxt.js与Next.js两个框架的优劣,表达了自己对Nuxt.js的偏好。
906 0
Nuxt4.0初体验:一个简约、精美、现代化的个人站点导航!
|
10月前
|
人工智能 Java 程序员
AI聊天秘籍:58种让AI变聪明的提问技巧
想让AI变成贾维斯一样的智能助手?别再用'帮我写个代码'这种直男对话了!从零基础到提示词大师,58种实用技巧让你的AI对话水平从小学生瞬间升级为研究生。掌握这些技巧,让AI不仅听懂你说什么,还知道你想要什么,工作效率直线飙升!#人工智能 #提示词工程 #ChatGPT #AI对话
2179 4
|
前端开发 JavaScript API
TS 中的类型验算,高级通用 API 实现
这篇文章介绍了一些常用的类型通用API封装,包括TS内置类型和关键字的使用,以及TS compiler内部实现的类型。文章截取了一些常用的类型定义和API示例,如Partial、Required、Readonly、NonNullable、Parameters等。还介绍了一些常用的TS关键字,如extends、infer、keyof、typeof、in等。此外,文章还提供了一些实现示例,如Optional API、GetOptional API和UnionToIntersection API。该文章会不断更新。
380 0
TS 中的类型验算,高级通用 API 实现
|
前端开发 API 开发者
Next.js 实战 (五):添加路由 Transition 过渡效果和 Loading 动画
这篇文章介绍了Framer Motion,一个为React设计的动画库,提供了声明式API处理动画和页面转换,适合创建响应式用户界面。文章包括首屏加载动画、路由加载Loading、路由进场和退场动画等主题,并提供了使用Framer Motion和next.js实现这些动画的示例代码。最后,文章总结了这些效果,并邀请读者探讨更好的实现方案。
590 0
Next.js 实战 (五):添加路由 Transition 过渡效果和 Loading 动画
|
资源调度 JavaScript 前端开发
安装 Nuxt.js 的步骤和注意事项
【8月更文挑战第6天】
723 3
|
开发者 Python
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
979 1

热门文章

最新文章