小面包 面包多
简介
评论
作品封面
永久回看

Next.js 应用开发实践

原创保护中 ¥12 已有16人购买
投诉
头像
Randy 无个人简介
作品简介

读者好,我是 [Randy](https://lutaonan.com), 一个前端开发工程师,非常感谢你对这本书有兴趣。这是一本十分迷你的书,很快你就可以把它读完。

我在业余的时间做了很多全栈 SaaS 应用,这些应用都是使用 Next.js 来做的。Next.js 的好处是它让你不需要关注业务开发无关的东西(例如前端构建配置,前后端结合的胶水代码等等),你可以专心编写你的 React 页面,以及所需要的 HTTP API. 更神奇的是,前后端可以共用一份 TypeScript 类型声明,让你在写代码的时候更安全。

但事实上在头几次用 Next.js 开发应用的时候,它并没有我想像中那么好用。在像 Express/Koa/Nest/Hapi 这些框架,它们都自带了 Web Server 开发的一些 helper. 例如利用它们的中间件机制,可以实现面向切面编程(AOP),大量地降低编写重复代码的情况;它们都自带了统一的错误处理机制,你可以在程序的任何角落抛出一个 HTTP 异常。但在 Next.js 里,这些都是缺失的 —— 它没有中间件机制,也没有错误处理的机制(所有 throw error 在 Next.js 的 API route 都会向客户端响应一个无意义的 500 Internal Server Error)。甚至在 Next.js 里,也没有自带的向客户端写入 cookies 的 helper. 这使得我在实现用户登录的时候,要研究写入 cookies 的最佳实践。

全栈应用也少不了前端页面的开发。数据请求我应该直接用 `axios`, 还是使用像 `react-query` 和 `swr` 这样的数据请求封装?它们两个我应该用哪个?在复杂的项目里,我应该如何正确地使用它们?这些都是我在头几次开发时候不知道的。

还好,在做了几个项目之后,我大概总结了一些非常有用的「最佳实践」,把上面提到的很多在 Next.js 中缺失的东西,以及在前端开发中对数据请求的处理,都研究出了很好的解决方法。这让我在接下来开发新的应用的时候非常高效,而且写出来的 HTTP API 的健壮性可以和用传统 Web 框架(Express/Koa/Hapi)写出来的匹敌。当然我的这些最佳实践就是借鉴它们的。

本来在开发完 [Cusdis](https://cusdis.com) 后我打算开始开发下一个 SaaS 应用,但仔细一想,不如先把我用 Next.js 开发全栈应用的这些宝贵经验总结起来,写成一本小书,分享给更多人。于是就有了你现在正在读的这一本小书。

这本书面向的读者

这本书面向的读者,是那些想要或者已经正在使用 Next.js 开发一个全栈应用的开发者。如果你从来没有用 Next.js 完整开发过一个应用,你可以在本书看到一个大概的流程和实践。如果你已经有一定的使用经验,那么你可能仍然可以从这本书的例子中得到启发,让你可以把一些重复的代码变得通用。

这本书没有的东西

这不是一本教你什么是 Next.js 的教程。我不会在这本书教你什么是 `getServerSideProps`, 什么是 `res.status()`, 更不会教你什么是箭头函数,什么是 async/await. 我假定读者已经知道这些基本的东西,我也不认为你应该把钱花在一本会变的书里学习这些经常会变的东西,你应该在它们的官方文档中学习。这就是为什么这本书这么便宜,因为在很多技术书里,读者会为很多在官方文档里已经有的东西买单。这本书只兜售在文档中没有的实践经验。

这本书的内容

在头几个章节,我会大致介绍一些技术:

- [react-query](https://react-query.tanstack.com/) 一个 React 数据请求库

- [next-connect ](https://github.com/hoangvvo/next-connect) 一个可以让 Next.js 使用 connect 中间件的库

- [Prisma](https://prisma.io) 一个 Node.js ORM

你会发现我并没有花很多笔墨去讲解这些库(再次重申,你应该在它们的官方文档去学习它们的 API, 而不是在一本书里)。我只会重点讲解它们是什么,它们解决了什么问题,它们如何与 Next.js 整合。

因为本书的精华部分在后面的两个「实例」,你可以从两个「实例」中学习到如何在 Next.js 中应用这些技术,从而使你的开发效率倍增。也就是说,头几个介绍这些库的章节,只是在为后面的两个「实例」作铺垫。我希望读者可以从这两个「实例」中提炼出其中那些不变的开发思路。

这本书的定价

这本书定价 12 元人民币,这是因为我人生中买的第一本编程书就是 12 块钱,仅以此对那本启蒙我的读物致敬。

如果读完本书后,你学到了一点什么,请不吝在 Twitter 上给我反馈,我的 Twitter ID 是 [@randyloop](https://twitter.com/randyloop). 又或者直接给我 (hi@taonan.lu) 写信。如果可以为此写一篇博客,那就更好了。

倘若你读完觉得这本书是垃圾,我只能说我为这本垃圾所花的时间和精力,应该也还是值 12 块钱。

无论如何,感谢你的阅读。

付费12元可获得

  • 附件 1个
    13.26MB

    Next.js 应用开发实践.pdf

评论 100% 推荐
推荐

推荐这个作品

帮助这个作品传播得更远?
你愿意在你的作品下方「猜你喜欢」区域展示这个作品吗?

1. 作者会看到你的帮忙,并真心感谢你

好的 我再想想

暂时还没有评论


头像
Randy 无个人简介
关注
3 喜欢 0 关注 11 粉丝 1 作品

  • 主页
  • 私信
登录或购买