NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

阿里云机器学习平台PAI论文高效大模型训练框架Whale入选USENIX ATC'22

阿里云大数据AI技术

深度学习 分布式训练 异构计算

数据架构师、数据分析师、数据工程师哪个工资更高?

雨果

数据分析师 数据工程师 数据架构师

一文搞懂│工厂模式、单例模式、策略模式、适配器模式、观察者模式的原理和使用

设计模式 策略模式 观察者模式 适配器模式 7月月更

国产EDA验证调试工具实现破局 助力芯片设计效率提升

科技热闻

自己搭建git服务器:linux自己Gitlab服务

zhoulujun

gitlab git私有参考 git部署 git服务端

《看完就懂系列》聊聊CSS3的 calc() 函数

南极一块修炼千年的大冰块

7月月更

互联网裁员潮来袭,这5类职场人最容易被淘汰

雨果

互联网裁员

面对裁员?焦虑?不如好好投资自己

沃德

程序员 7月月更

想低成本保障软件安全?5大安全任务值得考虑

SEAL安全

安全左移

一文读懂:本地数据湖丨数据仓库丨云数据湖的利与弊

雨果

数据仓库 数据湖

AOP 注解详解

武师叔

7月月更

JS 逆向 SMZDM 的登录加密,你学过全文扣JS代码解密吗?

梦想橡皮擦

Python 爬虫 7月月更

java培训如何防止 jar 被反编译

@零度

JAVA开发 jar被反译

Node.js异步编程之Promise

是乃德也是Ned

node.js 前端 7月月更

6月月更开奖!速来领取你的奖品!

InfoQ写作社区官方

热门活动 6月月更

将 Terraform 生态粘合到 Kubernetes 世界

阿里巴巴云原生

阿里云 容器 云原生 KubeVela terrafrom

百问百答第46期:极客有约——可观测四类问题的核心思想解析

博睿数据

APM 智能运维 博睿数据 可观测 性能监测

ShardingSphere 云上实践:开箱即用的 ShardingSphere-Proxy 集群

SphereEx

数据库 云原生 ShardingSphere

查找——概念了解

乔乔

7月月更

新思科技聚焦开源治理 助力提升中国开源产业安全及合规水平

InfoQ_434670063458

开源 软件 供应链 新思科技

大数据基础知识介绍

Lansonli

大数据 7月月更 大数据基础

软件架构-概述

架构

web前端培训4个常见的算法问题分享

@零度

算法 前端开发

得物App数据模拟平台的探索和实践

得物技术

大前端 方案设计 Mooncake 数据模拟平台

官宣|九章云极DataCanvas核心产品通过 “可信大数据”权威评测

九章云极DataCanvas

人工智能 大数据 数据处理 中国信通院 实时决策

新思科技助力提升开源治理水平

InfoQ_434670063458

开源 新思科技 软件供应链

离线批处理的咽喉——Flume基础配置简析

怀瑾握瑜的嘉与嘉

flume 7月月更

数据治理实施前必须准备的21条锦囊妙计

雨果

数据治理

TDesign 组件库技术方案指北

TDesign

开源 Vue React 组件库

干货分享 | 数据仓库如何应对资源不足?9招解除故障

雨果

数据仓库

DNS稳定性建设实战-从主机到k8s

boaker

k8s DNS 成本优化 DNS故障 稳定性保障

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