前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航

使用Next搭建React SSR工程架构之基础篇(二)

首页
2018-11-18 12:20:32
Front-End
ReactSSR

# 一、Next.js是什么

Next.js是一个基于React的一个服务端渲染简约框架。它使用React语法,可以很好的实现代码的模块化,有利于代码的开发和维护

# 1.1 Next.js带来了很多好的特性

  • 默认服务端渲染模式,以文件系统为基础的客户端路由
  • 代码自动分隔使页面加载更快
  • 以页面为基础的简洁的客户端路由
  • 以webpack的热替换为基础的开发环境
  • 使用React的JSX和ES6的module,模块化和维护更方便
  • 可以运行在Express和其他Node.js的HTTP 服务器上
  • 可以定制化专属的babel和webpack配置

# 二、构建一个基本的Next项目

# 2.1 创建项目

// 在本地创建一个项目跟目录
$ mkdir hello-next 

// 切换到项目根目录
$ cd hello-next

// 用npm初始化项目
$ npm init -y

// 将react和next安装到本地依赖
$ npm install --save react react-dom next

// 创建文件夹 pages
$ mkdir pages
@前端进阶之旅: 代码已经复制到剪贴板

创建完文件夹之后,打开hello-next文件下的package.json文件,在 scripts 下添加一个script,如下

{
  "scripts": {
    "dev": "next"
  }
}
@前端进阶之旅: 代码已经复制到剪贴板
$ npm run dev
@前端进阶之旅: 代码已经复制到剪贴板

# 2.2 创建页面

Next.js是从服务器生成页面,再返回给前端展示。Next.js默认从 pages 目录下取页面进行渲染返回给前端展示,并默认取 pages/index.js 作为系统的首页进行展示。注意,pages 是默认存放页面的目录,路由的根路径也是pages目录

  • 在 pages/index.js 中创建一个React函数式组件
const Index = () => (
  <div>
    <p>Hello Next.js</p>
  </div>
)

export default Index
fe
  • 一、Next.js是什么
    • 1.1 Next.js带来了很多好的特性
  • 二、构建一个基本的Next项目
    • 2.1 创建项目
    • 2.2 创建页面
    • 2.3 组件复用
    • 2.4 创建动态页面
    • 2.5 用路由遮盖(Route Masking)的干净的URL
    • 2.6 服务端支持路由遮盖
    • 2.7 请求接口,获取数据
    • 2.8 样式化组件
    • 2.9 怎么部署一个next.js项目
    • 2.10 完整代码示例
  • 三、更多须知
    • 3.1 创建 /static 文件夹,存放静态资源
    • 3.2 使用内置组件 <head> 定制每个页面的 head 部分
    • 3.3 使用内置组件 <Link> 进行路由跳转
    • 3.4 使用内置 router 方法,手动触发路由跳转
    • 3.5 使用 next-redux-wrapper 插件辅助实现 redux
    • 3.6 处理styled-components样式

← next项目部署到服务器pm2进程守护从零到一搭建React SSR工程架构(一) →