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

评论

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

软件测试 | 测试开发 | 白盒测试方法论

测吧(北京)科技有限公司

白盒测试

软件测试 | 测试开发 | App常见bug解析

测吧(北京)科技有限公司

bug

掌握这些核心算法,拿不到10个offer你来找我,我锤你个不争气的

收到请回复

Java 架构 算法 编程语言 语言 & 开发

Keepalived+HAProxy 搭建高可用负载均衡

CTO技术共享

SRE 运维体系 CTO技术共享

CTO技术共享

华为云发布《云原生2.0架构白皮书》,GaussDB技术再升级

sofiya

【Metaverse系列三】虚幻引擎的故事

ThingJS数字孪生引擎

元宇宙 虚幻引擎

Java培训的主要内容是什么?

小谷哥

Databend 源码阅读系列(二):Query server 启动,Session 管理及请求处理

Databend

query query分析 大数据 开源 #开源 databend

教育部“产学合作协同育人”项目华为云GaussDB项目入选名单公布

sofiya

从西方舶来品到中国智造,美的R6强势引领嵌入式厨电风向标

极客天地

4步教你做一个煤气安全提示神器

华为云开发者联盟

云计算 后端 物联网 IoT

官宣!华为云GaussDB两大数据库通过中国信通院多项评测

科技怪咖

华为云GaussDB(for Redis)揭秘:谁说Redis不能存大key

科技怪咖

DevOps技术产品链

CTO技术共享

软件测试 | 测试开发 | App测试时常用的adb命令你都掌握了哪些呢?

测吧(北京)科技有限公司

app测试

面试官:你知道MySQL和Linux操作系统是如何改进LRU算法的吗?

程序员小毕

Java MySQL 程序员 面试 LRU

设计模式的艺术 第五章工厂方法设计模式练习(设计一个程序来读取各种不同类型的图片格式,针对每种格式都设计一个图片读取器)

代廉洁

设计模式的艺术

web前端开发技术培训学习前景

小谷哥

百万粉丝养成记:写作4步法,解决文案创作的80%问题!

图灵社区

写作 脑科学

JPEX 围绕世界杯打造“平台 + 运动”新生态,为 JPC 深度赋能

股市老人

大咖说·图书分享|混合云架构

大咖说

架构 混合云

TDesign「issue一夏·疯狂的代码&设计」主题赛事火热进行中

TDesign

腾讯 前端

融云超级群的「同城社交平台」应用实践

融云 RongCloud

社交网络

JVM 优化踩坑记

PPPHUANG

JVM GC G1垃圾回收器 Java core

使用华为云GaussDB(for Redis)实现二级索引

科技怪咖

百万粉丝养成记:写作4步法,解决文案创作的80%问题!

图灵教育

写作 脑科学

华为云发布业界首个《云原生数据库白皮书》 重新定义数据新范式

科技怪咖

java课程培训学习能成为合格的程序员吗?

小谷哥

怎么选择Java培训班?

小谷哥

直播预告 | Homebrew 作者 Max Howell:如何打造杰出的开发者工具

玩转Devop和研发效能DevStream/DevLake

#开源

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