使用React服务端渲染Next.js框架构建一个简单项目

最近在学习React的服务端的东西, 感觉有些难度, 最近看的多了, 有点感觉了,比如React16.x中的服务端渲染(SSR)写的不错,很很简单,后来发现Next框架 很简单, 所以抄录下来了。

服务器端渲染
服务端渲染是指页面的渲染和生成是在服务端完成的,并将渲染好的页面返回客户端。

Next.js是什么
Next.js是一个使用React构建服务呈现Web的应用程序。它使用React语法,可以很好的实现代码的模块化,有利于代码的开发和维护。

Next.js的特性
1、默认服务端渲染模式 
2、代码自动分隔使页面加载更快 
3、以页面为基础的简洁的客户端路由 
4、支持webapck热替换 
5、可以运行在Express和其他Node.js的HTTP 服务器上 
6、可以定制化专属的babel和webpack配置 
7、基于React语法,可以实现代码模块化,有利于维护和开发

开始构建项目
1、在命令行依次输入如下命令:

D:\>mkdir next-demo
D:\>cd next-demo && npm init -y
D:\>npm install react react-dom next --save//本地依赖
D:\>mkdir pages



2、修改next-demo文件夹下的package.json中的“script”

{
  "scripts": {
    "dev": "next"
  }
}


3、开启项目服务

D:\>npm run dev

服务启动完成以后,在浏览器中访问http://localhost:3000 

404页面是Next.js默认生成的页面,之所以访问的页面是404是因为我们没有设置项目主页。

创建主页
Next.js是从服务端渲染生成页面,再返回给客户端展示。Next.js默认从 pages 目录下获取页面进行渲染并返回给客户端展示,且默认取 pages/index.js 作为项目的首页进行展示。 
注意,pages 是默认存放页面的目录,路由的根路径也是pages目录。

import React from 'react';
export default class Index extends React.Component{
    constructor(props){
        super(props);
    }
    render(){
        return (<div>
         <p>Index Page!</p>
        </div>)
    }
}

//或者

const Index = ()=>(<div>
         <p>Index Page!</p>
        </div>)
export default Index

由于Next.js默认使用Webpack构建项目,使用它的热部署功能。创建完 pages/index.js 后,再访问 http://localhost:3000 即可看到我们设置的项目主页。

至此,基于React服务器渲染Next.js框架构建一个简单项目完成。

关于Next.js的更高级的用法,可以参考官方的例子:Next.js。

如果有写的不对的,或者理解不到位地方,欢迎各位指正。
 

猜你喜欢

转载自blog.csdn.net/dz45693/article/details/83030471