写点什么

Next.js 提供了基于 React 的简单通用 JavaScript 框架

  • 2016-11-06
  • 本文字数:904 字

    阅读完需:约 3 分钟

新的通用 JavaScript 框架 Next.js 目前已经开源了,它为基于 React 和服务器的 Web 应用提供了一个新的可选方案。

来自 Zeit 的团队在 React 的基础和组件模型上构建了 Next.js,同时还提供了一个关键扩展:通过使用名为getInitialProps()的组件生命周期钩子方法,框架能够在服务器上进行初始渲染,如果需要的话,还可以在客户端继续进行渲染。不过这个高级特性是一个很小却功能强大的框架所额外提供的。

按照 Next.js 的最小功能集,它提供了一种便利的方式来创建新的 Web 应用,这个过程中,并不需要很多的工具集配置。类似于 create-react-app ,安装这个框架会搭建一个基于 React、Webpack 和 Babel 的构建过程。以往编写 React 组件的开发人员将会基于 React 语法来创建页面,每个页面提供了一个 render 函数:

复制代码
import React from 'react'
export default () => <p>Hello world!</p>

Next.js 使用 filesystem 作为 API ,所以每个放到pages文件夹中的组件将会自动映射为一个基于服务器的路由。比如,磁盘上的pages/about.js组件将会自动服务于/about这个 URL。

express-react-views 这样的项目不同,它是构建在 Express 之上的视图引擎,而 next.js 是一个顶层的服务层,只渲染 JavaScript 函数的结果。为了实现这一点,该项目使用 glamor 来处理 CSS,而不是依赖于单独的 CSS 文件。

在 Next.js 中,每个路由都是一个简单的 ES6 模块,这个模块会导出一个函数或扩展自 React.Component 的类。

Next.js 这种本质上的倾向性会有一些微妙的优势,其中之一就是开发人员不必在搭建 Webpack 或 Babel 配置上花费时间了。以往,这两个步骤就会耗费开发人员很多的时间。要运行某个站点的开发版本,只需运行npm run dev

对于一些开发团队来说,通用(Universal)的 JavaScript 依然是一项更为高级的技术,很多的框架都有自己的实现。Angular 2 有 Universal Angular 2 , Ember 有 Fastboot 。在 React 领域中,这方面的可选方案也不少,比如 Walmart 的 Electrode 和 Redfin 的 React Server 。现在,Next.js 作为一个很简单的可选方案,具有很大的潜力。该项目在 GitHub 上已经开源。

查看英文原文 Next.js Offers Simple Universal JavaScript Framework Based on React

2016-11-06 19:0016549

评论

发布
暂无评论
发现更多内容

STM32+MFRC522完成IC卡号读取、密码修改、数据读写

DS小龙哥

7月月更

Okaleido生态核心权益OKA,尽在聚变Mining模式

西柚子

SAP ABAP Netweaver 容器化的一些前沿性研究工作分享

汪子熙

SAP abap Netweaver Docker 镜像 7月月更

后端服务性能测试能力建设101

RingCentral铃盛

typescript 后端 ansible node,js SDET

一种分布式深度学习编程新范式:Global Tensor

OneFlow

深度学习 编程 分布式

期待已久的 RocketMQ Summit 等待你的参与!

阿里巴巴云原生

Apache 阿里云 RocketMQ 云原生 消息队列

C# Serialport的发送和接收

IC00

C# 7月月更

如何写一篇百万阅读量的文章

六月的雨在InfoQ

内容 个人提升 写作技巧

语音聊天app源码——钠斯直播系统源码

开源直播系统源码

直播系统源码 语音聊天系统 语音聊天软件 一对一语音聊天系统

议程速递 | 7月27日分论坛议程一览

kk-OSC

开源 开放原子全球开源峰会

Okaleido生态核心权益OKA,尽在聚变Mining模式

小哈区块

Linux 常用命令(二)

五分钟学大数据

Linux 7月月更

一文详解Nodejs中fs文件模块与path路径模块

timerring

node.js path FS 签约计划第三季

智能合约dapp系统开发流程技术

开发微hkkf5566

2B和2C

白粥

入门前端 -- CSS

bo

CSS 前端 7月月更

万字详解“用知识图谱驱动企业业绩增长”

博文视点Broadview

SAP ABAP 守护进程的实现方式

汪子熙

操作系统 守护进程 SAP abap 7月月更

莫慌!Java 多商户外贸版系统这不就来了么

CRMEB

Kubernetes网络插件详解 - Calico篇 - 概述

巨子嘉

如何使用Docker内的kafka服务

程序员欣宸

Java kafka 7月月更

前端食堂技术周刊第 45 期:Vite3.0、第91次TC39会议、Figma背后的CSS、B 站事故复盘、图片优化工具

童欧巴

前端 deno vite TC39 figma

C#入门系列(三十一) -- 运算符重载

陈言必行

7月月更

算法题每日一练---第10天:时间显示

知心宝贝

算法 前端 后端 7月月更

服务器内存故障预测居然可以这样做!

vivo互联网技术

运维 内存监控 EDAC 内存预测

面试突击68:为什么 TCP 需要 3 次握手?

王磊

Java 面试题 网络

第二届中国Rust开发者大会来啦,完整议程大曝光!

Mike Tang

rust rust conf

java零基础入门-异常、线程(上)

喵手

Java 7月月更

LeetCode-67. 二进制求和(java)

bug菌

Leet Code 7月月更

为啥谷歌的内部工具不适合你?

laofo

DevOps cicd 研发效能 工具链 谷歌

Qt | 关于如何使用事件过滤器 eventFilter

YOLO.

qt 7月月更

Next.js提供了基于React的简单通用JavaScript框架_JavaScript_David Iffland_InfoQ精选文章