React.js 是现今前端最火的应用框架之一,而 Next.js 正是 React.js 领域最优秀的服务端渲染框架之一。基本上,如今全部的前端主流形式,从服务端渲染 APP,静态站到桌面应用等,Next.js 都能胜任。前端
不管是国内仍是国外,都有很多开发者和企业在使用 Next.js 开发网站,好比:react
今天带来一门完整的 Next.js 框架实战课程,做者 luffyZh 老师是网易的高级前端开发工程师,手把手带你逐步掌握 Next.js 框架,最终完成静态博客+全栈动态博客系统的搭建。数据库
若是你是 React.js 开发者而且想学习一个服务端渲染框架,那么本课程是你很好的选择。npm
课程分为三个阶段:json
一:了解服务端渲染而且初步认识 Next.js,学习使用 Next.js 的各类 API 以及内置约束规则,进行简单的页面开发;后端
二:学习用多种方式部署 Next.js 应用,知足小型我的和大型企业的各类业务场景;浏览器
三:从实践角度出发使用 Next.js 开发两个应用系统,第一个是静态我的博客系统,第二个是全栈开发包含先后端以及数据库的动态博客系统。app
课程地址:Next.js 轻量级 React 框架实战框架
欢迎打开浏览器进入学习环境,边敲代码边练习~下面是课程内容:dom
熟悉一门新的技术,最简单的途径就是去它的官网阅读文档,官网地址:Next.js。
Next.js 官方对于自身的介绍能够说是绝不谦虚:
The React Framework for Server-Render APP, Static Websites, SEO-Friendly Sites, the DeskTop, Electron, the PWA...
基本上现今前端主流形式,从服务端渲染 APP,静态站到桌面应用等,Next.js 都能胜任。
尽管 Next.js 官网说的天花乱坠,那么实际上呢?有不少开发者在用 Next.js 作项目进行网站开发吗?来看看有哪些著名的网站使用 Next.js 来进行开发的。
魅族官网只有首页采用了 Next.js,其余页面都是另行开发的,应该说它只是为了作 SEO 优化,因而可知 Next.js 在 SSR 以及 SEO 领域确实是有它的长处的。
其实还有更多的例子,具体可见Next.js Showcase。
从上面几个例子能够看出,不少知名网站都是采用 Next.js 来进行开发的。可能有些人会问了,你说是 Next.js 开发的就是 Next.js 开发的?怎么才能识别出来一个网站是不是使用 Next.js 来进行开发的呢?通常来讲能够经过以下几个特征来判断一个网站是不是由 Next.js 来进行开发的:
就以腾讯门户来检验一下,其余几个站点你们能够自行验证:
上面介绍了这么多,你们应该基本了解了 Next.js 是什么以及 Next.js 的一些优势。学习一门技术,必需要知道它是什么而且了解到为何要使用它,才能更有兴趣的去学习并掌握它。
接下来就经过一个 Next.js 的 Demo 开始 Next.js 开发的入门之旅。来实际动手写一个任何语言都通用的入门级 Demo —— Hello World。
相关命令你们能够在实验楼相应环境中执行。
第一步:新建文件夹 hello-next
第二步:建立 package.json 文件
在根目录执行 npm init 命令,以后按照提示一路确认便可。
若是不喜欢复杂步骤,能够直接在 hello-next 目录下新建 package.json 文件,而后将下面的内容拷贝进去:
{ "name": "hello-next", "version": "1.0.0", "description": "The first demo of Next.js.", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": ["next.js"], "author": "luffyZh", "license": "ISC" }
第三步:安装依赖
Next.js 是一个 React.js 框架,因此通常除了安装 Next.js 以外,还要安装 React.js 相关核心依赖。
为了不下载太慢,能够安装并设置淘宝镜像。
npm install -g cnpm --registry=https://registry.npm.taobao.org npm config set registry https://registry.npm.taobao.org
而后安装 React.js 相关核心依赖。
// 执行以下命令 npm install --save next react react-dom
安装完以后,修改 package.json 文件增长一条启动命令 "start": "next -p 8080",它帮助咱们启动 Next.js 的开发环境在 8080 端口进行访问。如今package.json 代码以下:
{ "name": "hello-next", "version": "1.0.0", "description": "The first demo of Next.js.", "main": "index.js", "scripts": { "start": "next -p 8080", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": ["next.js"], "author": "luffyZh", "license": "ISC", "dependencies": { "next": "^9.1.4", "react": "^16.12.0", "react-dom": "^16.12.0" } }
第四步:添加入口文件
Next.js 项目启动须要入口文件,Next.js 会默认把根目录的 pages 文件夹里面的.js文件解析成路由页,在 hello-next 目录下新建 pages/index.js 文件并写入以下内容:
什么是路由页后面课程会详细介绍。
// pages/index.js export default () => <h1>Hello Next.js</h1>;
使用 npm start 命令进行启动,若是你看到控制台输出下面这段话就表示启动成功了:
[ ready ] compiled successfully - ready on http://localhost:8080
点击右边工具栏 Web服务,会自动新开一个标签进入浏览器,显示的内容为Hello Next.js:
若是你是在本地建立的文件,则在浏览器访问地址 localhost:8080 便可。
本节实验只是为了让你们理解 Next.js,后续课程无需手动进行项目的初始化搭建。也能够选择一个更简单的方式来搭建 Next.js 应用并启动,即便用命令 npx create-next-app hello-next 进行快速搭建。
你们能够将本环境保存下来,接下来的实验也会使用到这个环境。本部分代码能够经过以下命令获取:
wget https://labfile.oss.aliyuncs.com/courses/1546/code3_hello-next.zip
篇幅有限,后续的课程内容,请进入课程《Next.js 轻量级 React 框架实战》边敲代码边学习~