写点什么

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:0016996

评论

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

难对齐、难保障、难管理?一文了解字节跳动如何解决数据SLA治理难题

字节跳动数据平台

字节跳动 数据治理 SLA 数据研发

【活动预告】云上数字工厂与中小企业数字化转型创新论坛

阿里云弹性计算

数字化转型 中小企业 云盒

TiDB 冷热存储分离解决方案

TiDB 社区干货传送门

一文读懂Move2Earn项目——MOVE

西柚子

Java 8 开始新增的 Optional 类 - 创建 Optional 对象

HoneyMoose

Redis「6」实现消息队列

Samson

学习笔记 Redis 核心技术与实战 5月月更

AliAGC 自动增益控制算法:解决复杂场景下的音量问题

阿里云CloudImagine

算法 3A 音频

Apache Knox SSO 及在移动云 EMR 中的实践

移动云大数据

MapReduce服务

PolarDB-X 源码解读:DDL的一生(上)

阿里云数据库开源

数据库 阿里云 开源 分布式 polarDB

焱融看|2022 年存储自动化的 5 大趋势

焱融科技

云计算 分布式 云原生 高性能 文件存储

基于SVN的CICD调研方案

ZuccRoger

5月月更

一文读懂Move2Earn项目——MOVE

小哈区块

BSC币安NFT链游系统DAPP开发技术

薇電13242772558

智能合约 NFT

企评家 | 浙江永贵电器股份有限公司性评价简介

企评家

企评家 | 如何评价企评家企业成长性评价系统?

企评家

前端学习笔记(一):css学习笔记

恒山其若陋兮

5月月更

看透说破:客户服务首解率(FCR)的迷思

龙国富

客户体验 首解率

开源之夏IoTDB项目宣讲会落幕,你关心的问题这里都有

Apache IoTDB

时序数据库 Apache IoTDB 开源之夏

拆分电商系统为微服务

哈喽

「架构实战营」

企评家企业大数据平台,助力企业刻画企业成长性画像

企评家

模块一作业

joak

企评家 | 梅花生物科技集团股份有限公司成长性评价简介

企评家

【科普】如果程序员穿越到古代当皇帝,会发生什么?

阿里巴巴云原生

阿里云 云原生 消息队列 EventBridge

【LeetCode】验证外星语词典Java题解

Albert

LeetCode 5月月更

DevOps 向业务进阶,BizDevOps 要如何实现?

飞算JavaAI开发助手

[数据分析实践]-Image Matching-2DTo3D-1

浩波的笔记

人工智能 机器学习 数据分析

总工程师直播解析:隐私计算是什么,都有哪些核心技术和典型应用场景? | 第17 期

OpenAnolis小助手

隐私计算 龙蜥社区 sig 龙蜥大讲堂 海泰方圆

【刷题第 11 天】26. 删除有序数组中的重复项

白日梦

5月月更

国内首批|观测云获得信通院 “可观测性平台技术能力”最高级认证!

观测云

可观测性 可观测

蚂蚁集团 Service Mesh 进展回顾与展望

SOFAStack

架构 开发者 API Service Mesh 服务网格

Vue数据响应Object.defineProperty

空城机

vue.js 5月月更

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