Next.js项目实战-ai助手帮我写文章发布视频第1节(共89节)

😂Ai在国内外已经杀疯了,老板要求我们把速度再提升快一些,哪怕是几秒,几百毫秒也行~现在,马上就要,就地就要,只好搬出前端服务端(大保健)😓。没错,今天我要分享的就是服务端渲染,主要是Next.js。Ai的热火朝天貌似把我们这些程序员的角色淡化,其实不然,还是熟悉的味道,只是科技在进步并更好的服务于我们开发者。不了解Next.js可以去官网看下。

一、选型对比

在开始之前我们先看一下Next.js与Nuxt.js的对比分析,帮助您在两者之间做出选择:

框架类型技术栈核心目标
Next.js前端框架React构建React应用,支持SSR、静态站点等
Nuxt.js前端框架Vue.js构建Vue.js应用,支持SSR、静态站点等

核心功能对比

Next.js
  • 基于React:专为React生态系统设计,扩展了React的功能。

  • 服务端渲染(SSR):提升SEO和首屏加载速度。

  • 静态站点生成(SSG):预渲染页面,适合博客、文档等。

  • 约定式路由:根据文件结构自动生成路由。

  • 模块化:通过插件扩展功能(如状态管理、API集成)。

  • 渐进式页面:支持渐进式加载,提升用户体验。

  • 中间件支持:如API路由、定制错误页面等。

Nuxt.js
  • 基于Vue.js:专为Vue生态系统设计,扩展了Vue的功能。

  • 服务端渲染(SSR):提升SEO和首屏加载速度。

  • 静态站点生成(SSG):预渲染页面,适合博客、文档等。

  • 约定式路由:根据文件结构自动生成路由。

  • 模块化:通过插件扩展功能(如状态管理、API集成)。

  • Vue Composition API:支持Vue 3的Composition API,提升代码可维护性。

适用场景

框架适用场景
Next.jsReact项目、SEO敏感的网站(如企业官网、博客)、需要渐进式加载的页面
Nuxt.jsVue项目、SEO敏感的网站(如企业官网、博客)、需要Vue 3 Composition API的项目

技术特点对比

特性Next.jsNuxt.js
核心语言JavaScript/ReactJavaScript/Vue
渲染模式SSR/SSG/SPASSR/SSG/SPA
路由文件系统约定文件系统约定
数据获取getStaticProps/getServerSidePropsasyncData/fetch
状态管理集成Redux等集成Vuex等
构建工具内置Webpack配置内置Webpack配置
生态支持React生态Vue生态

如何选择?

  • 技术栈

    • 如果您的团队更熟悉 React,选择 Next.js

    • 如果您的团队更熟悉 Vue,选择 Nuxt.js

  • 项目需求

    • 如果项目需要 渐进式加载 或复杂的中间件功能,Next.js 更适合。

    • 如果项目需要 Vue 3 Composition API 或更简单的状态管理,Nuxt.js 更适合。

  • 生态系统

    • Next.js 有丰富的React生态支持。

    • Nuxt.js 有丰富的Vue生态支持。

总结

  • Next.jsNuxt.js 都是各自生态系统中非常优秀的框架,选择取决于您的技术栈和项目需求。

二、项目搭建 

 创建项目

直接执行命令,拥抱TS:

npx create-next-app@latest --typescript

在一系列选择Yes/No后,你会得到如图目录结构:

这里介绍下Turbopack:



Turbopack
‌是由Webpack的创建者Tobias KoppersNext.js团队使用Rust编写的一个增量打包工具,旨在提供更快的构建速度和更好的开发体验。Turbopack特别针对JavaScriptTypeScript进行优化,支持所有ESNext功能、Browserslist和顶层await等特性。它还支持require、import、动态导入等多种导入方式,并且优化了开发服务器(Dev Server),支持热更新(HMR)和快速刷新‌。turbopack的构建速度非常快,特别是在大型应用中表现尤为突出。在具有3000个模块的应用中,Turbopack的启动时间仅为1.8秒,而Vite则需要11.4秒,这表明Turbopack比Vite快5.8倍,比Webpack快700倍‌12。此外,Turbopack在代码更新速度上也表现出色,文件更改的速度比Vite快5.8倍‌。

架构和技术特点

Turbopack建立在新的增量架构上,借鉴了TurborepoGoogle Bazel等工具的经验教训,专注于使用缓存来做两次相同的工作。它建立在Turbo之上,一个开源的、增量的Rust记忆框架,能够缓存程序中任何函数的结果,从而在函数输入未更改时跳过大量工作‌。

开发环境和社区支持

目前,Turbopack仍处于alpha阶段,不支持配置和插件。尽管如此,它的开箱即用特性已经涵盖了JavaScript、TypeScript、Imports、Dev Server、CSS和静态资源等多方面的支持‌1。随着技术的不断成熟,Turbopack有望在未来提供更丰富的功能和更好的开发体验.

页面路由

Next.js 是围绕着 页面(pages) 的概念构造的。一个页面(page)就是一个从 pages 目录下的 .js.jsx.ts 或 .tsx 文件导出的 React 组件

页面(page) 根据其文件名与路由关联。例如,pages/about.js 被映射到 /about。甚至可以在文件名中添加动态路由参数,例如,如果你创建了一个命名为 pages/posts/[id].js 的文件,那么就可以通过 posts/1posts/2 等类似的路径进行访问。

细心的小伙伴会发现,我使用的是src目录,如果你要从一种目录结构变成另一种,需要重启项目,不然会访问不到!熬了

今天先到这,我去学习  https://manus.im/ 😂 后面继续分享编辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weifont

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值