【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

评论

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

物联网平台从设备端到云端业务系统全链路开发实战——实践类

阿里云AIoT

sql 监控 物联网 存储 消息中间件

第三周作业 外包学生管理系统-架构设计文档

不爱学习的程序猿

从工具到实践:如何在GitHub上保障开源项目安全?

SEAL安全

GitHub 开源 开源项目 开源安全 12 月 PK 榜

小课堂|RSA加密数据太长报错解决

孟君的编程札记

Java rsa RSA密码

贾斯特里尼&布鲁克斯葡萄酒,来自法国的专属浪漫

联营汇聚

物流自动化:趋势和机遇

世开 Coding

自动化 物流行业

协同高效运转,华为云桌面助力企业数字化转型!

科技说

学生系统架构图

lory(侯保国)

国产ETL etl-engine 流批一体数据交换引擎 轻量级 跨平台 支持动态解析GO语言脚本

weigeonlyyou

Prometheus Influxdb go语言 ETL Hadoop hd

华为云桌面,高流畅低延时,给你丝滑办公体验

爱尚科技

现在即未来,华为云桌面引领桌面变革新潮

科技说

程序员是“短命”职业吗?年龄大了是不是没前途?

千锋IT教育

物联网设备端的传感器数据如何实时上报到云平台——实践类

阿里云AIoT

安全 物联网 物联网安全 技术标签

运维自动化之监控平台

大V

DevOps 运维自动化 监控报警

助力企业构建更可靠的云上云下网络,华为云企业交换机巧解企业上云难题!

路过的憨憨

华为企业交换机ESW,企业数据上云,一步到位

路过的憨憨

职场新人有没有潜力,看这一个能力就够了!

图灵教育

数据分析 图表 可视化数据

职场新人有没有潜力,看这一个能力就够了!

图灵社区

数据分析 图表 可视化数据

新年送礼选贾斯特里尼&布鲁克斯葡萄酒,高端大气有面子

联营汇聚

如何优雅的写 css 代码

京东科技开发者

CSS 前端 代码 优化 精简

架构实战营第十期模块三作业

刘博

如何区分位图和矢量图格式?怎样一键把位图转换成矢量图?

互联网民工阿强

AI 位图 图片处理 矢量图 格式转换

华为云桌面,如何助力企业云上轻松办公

科技怪授

云桌面

图计算引擎分析——Gemini

京东科技开发者

内存 图计算 压缩 引擎 静态数据

钉钉 ANR 治理最佳实践 | 定位 ANR 不再雾里看花

阿里巴巴终端技术

android 钉钉 anr

严选精品葡萄,酿造百年贾斯特里尼&布鲁克斯葡萄酒

联营汇聚

华为企业交换机ESW助力企业走上云端

路过的憨憨

这么硬核的教程绝对不能错过!无水印下载ins视频保存到手机相册!

frank

ins ins视频和图片

由浅入深剖析JDK源码!美团大牛手撸并发原理笔记真香

Java永远的神

程序员 并发编程 后端 jdk源码 架构师

数据库上云已成趋势,华为云数据库与传统数据库对比解析

与时俱进的时代

5大理由告诉你,为什么选择华为云桌面

与时俱进的时代

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