写点什么

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

评论

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

Python代码阅读(第43篇):构造组合函数

Felix

Python 编程 Code Programing 阅读代码

阿里云边缘云ENS再升级 产业数字化落地向何方?

阿里云Edge Plus

2021年大厂程序员进阶宝典,Android开发基础面试题

android 程序员 移动开发

2021年来看看Android的发展,程序员如何应对中年危机

android 程序员 移动开发

在 pygame 中好好玩玩精灵,滚雪球学 Python 游戏番

梦想橡皮擦

10月月更

2021年Android大厂面试分享,实战篇

android 程序员 移动开发

2021年字节跳动+京东+美团面试总结,查漏补缺

android 程序员 移动开发

2020-2021蚂蚁金服Android面试真题解析,使用指南

android 程序员 移动开发

解密诡异并发问题的幕后黑手:可见性问题

华为云开发者联盟

并发编程 线程 并发 可见性 单核CPU

2021年Android春招面试经历,阿里秋招面试真题解析

android 程序员 移动开发

DeFi流动性挖矿系统开发资料(源码)

2021最值得加入的互联网公司有哪些,阿里三面

android 程序员 移动开发

第 22 章 -《Linux 一学就会》- 跳出循环-shift参数左移-函数的使用

学神来啦

Linux linux运维 linux云计算 linux一学就会

揭开MySQL Volcano模型迭代器性能提升千倍的秘密

华为云开发者联盟

MySQL 数据库 华为云数据库 MySQL Volcano 模型迭代器

掘金万亿新IT服务大市场,联想智慧服务核心能力持续跃升

科技大数据

2021最新中高级Android面试题目,2021必看

android 程序员 移动开发

2021年GitHub上那些优秀Android开源库总结,花2万块买的教程

android 程序员 移动开发

DeFi智能合约DAPP系统开发公司(现成)

2021最新Android常用开源库总结,retrofit源码

android 程序员 移动开发

4面阿里拿到P7Offer,Android开发指南

android 程序员 移动开发

Defi挖矿系统开发简介(现成案例)

Apache APISIX 助力有赞云原生 PaaS 平台,实现全面微服务治理

API7.ai 技术团队

云原生 PaaS API网关 Apache APISIX

2021年Android高级面试题,成功入职字节跳动

android 程序员 移动开发

Vue进阶(幺肆伍):Vue-elementUI实现操作栏位更多效果

No Silver Bullet

Vue 10月月更

2021年大厂程序员进阶宝典,flutter面试题

android 程序员 移动开发

2021年大厂程序员进阶宝典,真是经典中的经典

android 程序员 移动开发

全球6G专利独占4成,中国能否借此“制霸”元宇宙?

海比研究院

Groovy动态添加方法和属性及Spock单测

FunTester

Java 动态 spock Groovy FunTester

2021年Android程序员职业规划,Android开发技巧

android 程序员 移动开发

2021高级Android笔试总结,帮你解决95%以上的问题

android 程序员 移动开发

Vue进阶(幺肆肆):(window,parent,opener,top).location.reload方法分析

No Silver Bullet

Vue 页面刷新 10月月更

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