写点什么

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

评论

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

手把手带你做好团队管理|引航计划|管理

石云升

团队管理 管理 引航计划 技术专题合集

从头开始(概率)学HMM:精讲第二课-学习问题(BW算法)

herosunly

AI 引航计划 内容合集

924清退在即,你的币转入数字货币钱包了吗?

CECBC

架构实战营 模块九 作业

脉醉

架构实战营

原创万字总结人工智能技术栈与学习路线 上集 基础篇

cv君

AI 引航计划

从头开始(概率)学HMM:精讲第三课-概率计算问题

herosunly

AI 引航计划 内容合集

手把手带你做好项目管理|引航计划|管理

石云升

项目管理 管理 引航计划 技术专题合集

uni-app 在mac电脑连接安卓手机进行真机调试

达摩

uni-app app调试

中国法定数字货币(DCEP)全面启航!全国普及势在必行

CECBC

【设计模式】第一篇 - 组合模式

Brave

组合模式 10月月更

电商秒杀系统

feitian

AI驱动!7款开发者必备生产力工具

Jackpop

自定义Vue脚手架模板之:Vue-Cli源码分析

Brave

源码 vue cli 10月月更

仁兄,可曾听闻OpenVINO

cv君

AI 引航计划

为什么赛博朋克里总少不了日本元素?

脑极体

从头开始(概率)学HMM:精讲第一课-隐马尔可夫模型定义

herosunly

AI 引航计划 内容合集

推荐2个网站,牛x就完事了!

Jackpop

如虎添翼!6款备受欢迎的Edge浏览器插件

Jackpop

决策树——从原理走向实战

cv君

AI 引航计划

基于深度学习的医学图像分割(一)

cv君

AI 引航计划

设计电商秒杀系统

gawaine

架构训练营

在线HTTP请求/响应头转JSON工具

入门小站

工具

数据库:B/B+树

正向成长

B+树 B树

浅谈人工智能的历史

Nydia

【布隆过滤】大数据+查重过滤+爬虫领域精选算法

cv君

AI 引航计划

Vue3 + TypeScript 开发实践总结

程序员海军

大前端 Vue3 引航计划

linux之history使用技巧

入门小站

Linux

原创万字总结人工智能技术栈与学习路线 下集 进阶篇

cv君

AI 引航计划

JavaScript 脚本优化的 10 个技巧

devpoint

JavaScript 性能优化 10月月更

自我提升:高效能人士的7个习惯学习笔记

程序员架构进阶

自我管理 自我提升 10月月更

模块九作业

VE

架构实战营

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