AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

评论

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

架构营模块九作业

GTiger

架构实战营

大数据集群节点磁盘负载不均衡怎么办?

明哥的IT随笔

大数据 hadoop CDH CDP

[架构实战营] 模块六作业

Geek_0ed632

「架构实战营」

消息积压&消息丢失解决方案

JavaEdge

1月月更

渗透测试思路总结

网络安全学海

黑客 信息安全 渗透测试 安全漏洞

ABAP 调用第三方 API,遇到乱码该怎么办?

汪子熙

Unicode abap 字符编码 1月月更

毕业设计

dean

架构实战营

LeetCode每日一题 No.1716 计算力扣银行的钱

DawnMagnet

算法 rust LeetCode 力扣

架构训练营 - 模块 9 作业

焦龙

架构训练营

毕业设计项目

panxiaochun

架构实战营

网站安全检测:推荐8款免费的 Web 安全测试工具

喀拉峻

网络安全

15 Promethus之核心组件介绍

穿过生命散发芬芳

Prometheus 1月月更

关于项目中 Repository 层的思考

CRMEB

架构实战营模块五作业

曾竞超

架构实战营 「架构实战营」

Go 语言快速入门指南: Go 并发互斥锁

宇宙之一粟

并发 Go 语言 互斥锁 1月月更

LabVIEW条形码识别(实战篇—5)

不脱发的程序猿

图像识别 机器视觉 图像处理 LabVIEW 条形码识别

Java基础:UUID

程序员架构进阶

Java uuid 1月日更 2022

技术管理养成:一个普通的在线文档做瀑布与敏捷的融合

dclar

团队管理 项目管理 敏捷开发 团队协作 CTO

连续读书1000天,我开始思考一篇好的读书总结是什么样子的

宇宙之一粟

读书总结 1月月更

「offer来了」1张思维导图,6大知识板块,带你梳理面试中CSS的知识点!

星期一研究室

css3 前端开发 面试题 面试‘ HTML5, CSS3

盘点 2021|人只有跌入谷底,每一步都是往上走的。

踏雪痕

生活 盘点2021 盘点 2021

好家伙!你这网络基础可以啊!1️⃣

XiaoLin_Java

1月日更

“微博评论”高性能高可用计算架构设计

swallowluo

架构实战营 #架构实战营 「架构实战营」

火狐浏览器一败涂地?

Jackpop

程序员的快乐,只需要这7款工具!

Jackpop

有传闻说,写好总结可以升职加薪?

程序人生

架构实战-毕业设计项目

无名

架构实战营 「架构实战营」

kafka Controller作用

石头哥谈架构

大数据 kafka 消息中间件

大画 Spark :: 网络(3)-回复消息机制OneWayMessage与RpcRequest对比

dclar

大数据 spark 源代码 Spark 源码

spring5.0.x 源码编译过程及踩坑记录

努力努力再努力

1月日更

第一节:创建SpringBoot项目并运行HelloWorld

入门小站

springboot

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