Next.js实战项目 | 青训营笔记

60 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第14天

前言

毫无疑问,程序员们都非常喜欢React及其丰富的特性,这些特性帮助我们在浏览器上创造奇迹。但是,人类总是善于改进并前进以优化缺点并产生更多的优点。Next.js基于React,为程序员开发提供了框架和库。

Next.js是什么

  • Next.js 是一个构建于 Node.js之上的开源 Web 开发框架支持基于 React 的 Web 应用程序功能,例如服务端渲染和生成静态网站
  • 上手快,能力集全,而且覆盖了足够多的性能优化和生态
  • 对于新同学掌握前后端一体化的开发模式很友好

《狼书(卷3):Node.js高级技术》修订版中给next.js一个明确观点:"整体来看,Next.js在Node.js Web开发领域是一个非常优秀的SSR框架,其众多优秀特性,外加Blitzjs这种周边生态,对于开箱即用的项目来说是极好的。从架构的角度,笔者以为Next.js是过度设计,从商业的角度,我认同Next.js的做法,易用性应该是开发领域最该重视的核心。"

CSR, SSR, SSG

Next基于React,支持CSR, SSR, SSG等渲染或用于渲染的生成方式

  • CSR(Client-Side Rendering)客户端渲染,常见 B 端WEB 应用开发模式,前后端分离,服务器压力相对更轻,渲染工作在客户端进行,服务器直接返回不加工的 HTML 用户在后续访问操作。
  • SSR(Server-Side Rendering)服务端渲染,也就是将Vue在客户端把标签渲染成HTML的工作放在服务端完成,然后再把html直接返回给客户端。
  • SSG(Static Site Generation)静态站点生成,在构建的时候直接把结果页面输出html到磁盘,每次访问直接把html返回给客户端,相当于一个静态资源。

快速创建Next.js项目

1、要创建 Next.js 应用,请打开你的终端窗口,cd 进入您要在其中创建应用程序的目录,然后运行以下命令:
npm init next-app nextjs-blog --example "https://github.com/vercel/next-learn-starter/tree/master/learn-starter" 2、运行

cd nextjs-blog
yarn dev

3、编写组件

function Text (){
    return(
        <h3>Hello, world!</h3>
    )
}
export default Text;

除此之外,Next内容还有很多。如需了解更多,参考Next从入门到实战