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

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

什么是 Nuxt

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

Nuxt3 的优点

  • 基于 Vue3 的优势Nuxt3 充分利用了 Vue3 的所有优点,包括性能优化、响应式编程和更好的 TypeScript 支持。Vue3Composition 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

配置 EslintPrettierHuskylint-stagedcommitlit项目提交规范

相关文章
|
JavaScript 前端开发 搜索推荐
Nuxt4.0初体验:一个简约、精美、现代化的个人站点导航!
这篇文章介绍了作者使用Nuxt 4.0重构个性化站点导航网站的经历,阐述了Nuxt 4.0的新特性和优势,如更清晰的项目结构、更好的TypeScript体验、更快的CLI和开发速度等,并且分享了重构过程中的体验和项目完成效果。同时,作者还对比了Nuxt.js与Next.js两个框架的优劣,表达了自己对Nuxt.js的偏好。
859 0
Nuxt4.0初体验:一个简约、精美、现代化的个人站点导航!
|
9月前
|
人工智能 Java 程序员
AI聊天秘籍:58种让AI变聪明的提问技巧
想让AI变成贾维斯一样的智能助手?别再用'帮我写个代码'这种直男对话了!从零基础到提示词大师,58种实用技巧让你的AI对话水平从小学生瞬间升级为研究生。掌握这些技巧,让AI不仅听懂你说什么,还知道你想要什么,工作效率直线飙升!#人工智能 #提示词工程 #ChatGPT #AI对话
2031 4
|
11月前
|
编解码 缓存 监控
《首屏加载优化手册:Vue3+Element Plus项目提速的技术细节》
本文记录了Vue3+Element Plus开发的企业内部管理系统首屏加载优化实践。该系统因组件全量引入、图片未优化、接口调用无序,首屏加载达6秒,用户投诉频发。作者团队用Chrome DevTools定位瓶颈后,以“分阶段、抓核心”策略优化:代码层面拆分资源、按需引入组件;静态资源转WebP并适配分辨率;调整接口调用顺序,延迟非核心请求,还添加骨架屏优化体验。优化后首屏加载稳定在1.8-2.2秒,系统使用率提升12%。作者强调优化需贴合用户体验,建立监控体系,避免盲目追求技术指标。
646 6
|
缓存 前端开发 JavaScript
基于 Next.js 的今日热门榜单平台
**今日热榜**是一款基于Next.js构建的热点聚合平台,实时整合17+主流平台热门内容,提供明暗主题切换、响应式适配、SSR极速加载等特性,支持Vercel一键部署,助你轻松掌握全网热点。
1431 0
基于 Next.js 的今日热门榜单平台
|
监控 安全 中间件
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
这篇文章介绍了什么是Next.js中的中间件以及其应用场景。中间件可以用于处理每个传入请求,比如实现日志记录、身份验证、重定向、CORS配置等功能。文章还提供了一个身份验证中间件的示例代码,以及如何使用限流中间件来限制同一IP地址的请求次数。中间件相当于一个构建模块,能够简化HTTP请求的预处理和后处理,提高代码的可维护性,有助于创建快速、安全和用户友好的Web体验。
505 0
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
|
前端开发 API 开发者
Next.js 实战 (五):添加路由 Transition 过渡效果和 Loading 动画
这篇文章介绍了Framer Motion,一个为React设计的动画库,提供了声明式API处理动画和页面转换,适合创建响应式用户界面。文章包括首屏加载动画、路由加载Loading、路由进场和退场动画等主题,并提供了使用Framer Motion和next.js实现这些动画的示例代码。最后,文章总结了这些效果,并邀请读者探讨更好的实现方案。
545 0
Next.js 实战 (五):添加路由 Transition 过渡效果和 Loading 动画
|
资源调度 JavaScript 前端开发
安装 Nuxt.js 的步骤和注意事项
【8月更文挑战第6天】
689 3
|
开发者 Python
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
924 1