2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

评论

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

贡献超 10 万代码的新晋 committer,持续参与 Apache IoTDB 社区的“秘籍”是?

Apache IoTDB

go-zero 是如何实现计数器限流的?

AlwaysBeta

Go 微服务 限流算法 go-zero 限流器

何时使用MongoDB而不是MySql

越长大越悲伤

MySQL 数据库 mongodb

直播预告 | 博睿学院:浅析windows Hook原理和机制

博睿数据

可观测性 智能运维 博睿数据 直播预告 博睿学院

SOFABoot 4.0 正式发布,多项新特性等你来体验!

SOFAStack

springboot Java 分布式 jdk17 #开源

隆重介绍!为啥它让智能制造有了“芯”能力?

用友BIP

制造

现代数据分析的革命,ABI报表工具引领企业进入数据驱动时代

流量猫猫头

基于 KubeSphere 快速部署 ByConity

朱亚光

云原生 数据舱

条条大路通罗马系列—— 使用 Hiredis-cluster 连接 Amazon ElastiCache for Redis 集群

亚马逊云科技 (Amazon Web Services)

Amazon

倒计时 1 天!1000+ 技术先锋,龙蜥社区受邀参加 OCP China Day 2023

OpenAnolis小助手

龙蜥活动 OCP China Day 2023

全球优秀的架构师都在关注什么?

用友BIP

架构师 数智底座

基于Java开发的企业级数字化采购系统(SRM)

金陵老街

srm 采购系统 招投标系统

一键登录和短信验证登录,到底有什么区别?

MobTech袤博科技

前端 App 前端开发 APP开发

“铁头乔”出品!CommunityOverCode Asia 专题介绍之物联网(IoT)/工业物联网(IIOT)

Apache IoTDB

加速解锁科学智能前沿,昇思MindSpore铸就了一把“全能”钥匙

脑极体

AI

微软为AI投了多少钱?以及是否要担心这笔疯狂的资本支出

B Impact

Programming abstractions in C阅读笔记:p88-p90

codists

SpringBoot3文件管理

Java 架构 springboot SpringBoot3

IOS上架流程

veridex执行错误分析与方案

XCG00

Android;

深化产教融合,华为与高校共建鸿蒙人才培养

极客天地

网络虚拟世界不是法外之地,必须严打网络暴力

石头IT视角

go-zero 是如何做路由管理的?

AlwaysBeta

Go 源码 微服务 go-zero 路由

C语言驱动开发之内核解锁与强删文件

芯动大师

大咖云集︱2023第二届中国PMO&PM大会倒计时15天!

新消费日报

Spring 简介

小万哥

Java spring 后端 spring-cloud spring-boot

Observable设计模式简介

树上有只程序猿

Java java-API Observable

RR有幻读问题吗?MVCC能否解决幻读?

王磊

Java Java 面试题

万物皆可销售:数字世界中的商业文明之光

B Impact

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