写点什么

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

评论

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

作业--week08

张荣召

架构师训练营第 1 期 第 8 周作业

李循律

极客大学架构师训练营

区块链赋能供应链金融 | 应用优势与四类常见模式

CECBC

区块链 供应商审核

区块链USDT系统开发解决方案,USDT支付系统技术开发

13530558032

8.4经典算法

张荣召

高可用可伸缩微服务架构:基于Dubbo、SpringCloud和ServiceMesh完整蓝光版PDF分享

Java架构追梦

Java 微服务 dubbo Service Mesh SpringCloud

Spring改变版本号命名规则:此举对非英语国家很友好

YourBatman

Spring Boot 语义化 Spring Framework 日历化

训练营第四周学习总结

爱码士

训练营

flink-sql流计算可视化UI平台

无情

sql flink 实时计算 平台

学习总结--week08

张荣召

超赞!吃透这份Github点赞120k的Java知识面试笔记Offer拿到手软

比伯

Java 编程 程序员 架构 面试

第5周 技术选型(一)-作业

SuGeek

极客大学架构师训练营

【薪火计划】02 - 一将功成万骨枯

AR7

管理

我画着图,FluentAPI 她自己就生成了

newbe36524

C# .net .net core netcore

8.5网络通信基本原理与性能优化

张荣召

架构师训练营 1 期 - 第八周总结(vaik)

行之

极客大学架构师训练营

区块链带来的业务流程优化是数字化转型最深层次的变革

CECBC

区块链 数字化

8.1文件与磁盘IO:如何把磁盘的读写速度提升十万倍?

张荣召

8.2常见数据结构与Hash表原理分析

张荣召

【干货】内存条的基础讲解,够用绝大多数情况

亚兰—硅的传奇official

计算机基础 内存 装机 硬件

每个程序员都应该知道的数字

多颗糖

数据库 计算机基础 存储

8.3红黑树原理与性能特性

张荣召

8.6非阻塞网络I/O

张荣召

训练营第4周作业

爱码士

训练营

数字货币交易所开发定制,币币撮合交易开发商

13530558032

过滤Spark数据集的四种方法

大数志

大数据 spark 数据分析 数据科学

面试官:Redis 主从复制时网络开小差了怎么整?

redis 学习 面试

区块链钱包APP开发,开发搭建数字货币钱包

13530558032

va_list 可变长参数原理

liu_liu

c 可变参数 va_list

适合初学者的Web Components教程[2019](译)

西贝

Java Web Component 组件

机器学习的产业化变革中,华为云ModelArts的新成绩单

脑极体

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