写点什么

通用 React 框架 Next.js 发布 5.0 版本

  • 2018-03-01
  • 本文字数:1159 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Next.js 是用于通用 React.js 应用程序的开源工具包,已发展到 5.0 版本。这个版本改进了 Next.js 应用程序的可配置性,加入了对服务端 Webpack 的支持以及针对模块化配置的插件系统。它还增加了对 TypeScript 的支持,能更好地支持诸如 Preact 之类的 React 替代包(alt-libs),同时也增加了名为 Zones 的多应用程序组合功能。

Next.js 在最初的版本里就支持自定义 Webpack 配置,但最新版本克服了一些主要限制。在版本 5.0 的发布介绍里,Next.js 开发人员 Tim Neutkens 和 Arunoda Susuripala 如此解释:

如果 Webpack 只能在客户端(浏览器端)打包(bundle)执行,你将错过使用这个强大的工具链进行服务器渲染的可能性。

我们很高兴地宣布,我们已经扩展重构了代码库,使得 Webpack 既可以在客户端也能在服务端执行。

对你们来说,所有的变化仅仅只是向装饰器函数传递一个额外的 isServer 属性。但是,这个新的语法意味着,现在你可以使用应用范围更广的 Webpack 装载机(loaders)了。

这个功能可以更好地控制 Next.js 的配置,为了提供更简单的方法来管理配置,Next.js 创建了用于配置的插件系统,并建立了常用可复用插件的开源仓库。在撰写本文时,已有的可用插件包括用于导入css、less 和scss 的配置,以及为在项目中使用Preact 或TypeScript 做的配置。社区已经有人发起合并请求(pull requests),为 GraphQL 标签以及 Webpack 打包分析器等功能添加插件。

这个插件架构也是在 Next.js 里为什么能有最好的 TypeScript 支持的原因,它使得在 Next.js 应用程序中,只需要两行简单的代码就能开始使用 TypeScript 了:

复制代码
const withTs = require('next-typescript');
module.exports = withTs({ /* additional config*/ })

在 React etc 博客里的一篇文章中,Jorgé回应:

Next.js 持续地对用户提出的支持有用功能的请求作出响应。这再次证明了 TypeScript 如何像风暴一样影响 JavaScript 社区。TypeScript 不仅提供 Typing 和额外的语言功能,还提供非常强大的调试和重构功能。

由于使用 TypeScript 可以很好地编写 React 应用程序,因此这个功能将给 Next.js 的开发带来更好的开发体验。

Next.js 5.0 还增加了一个名为“Zones”的功能,文档里称这个功能可以将多个 Next.js 应用程序合并到一个应用程序中:

这与微服务的概念完全相同,只不过它针对的是前端应用。

这个功能与代理相结合,允许你使用 React 的标签来链接其他的应用程序,使得原本相隔离的应用程序能够无缝集成。为了方便开发和部署,开发团队发布了一个名为微代理(microproxy)的Node 包,这个功能也可以很好地与NGINX 和HAProxy 等传统代理解决方案搭配使用。

查看英文原文: Universal React Framework Next.js Releases Version 5.0

2018-03-01 18:002648

评论

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

前端高频react面试题整理

beifeng1996

React

社招前端react面试题整理

beifeng1996

React

百度前端经典vue面试题整理

bb_xiaxia1998

Vue

排障定位时间缩短一半, 博睿数据如何赋能青岛住房公积金管理中心

博睿数据

APM AIOPS 智能运维 博睿数据 精选案例

如何使用API Hub 实现一个图片列表

Towify

WWW 是否应该属于 URL?

devpoint

Cookie url SEO www

从零手写react-router

helloworld1024fd

JavaScript

阿里云开源大数据平台EMR全面升级 性能最高可提升6倍

阿里云大数据AI技术

大数据 云原生 大数据 开源

一文了解 Go time 包的时间常用操作

陈明勇

Go golang time

高级前端常考手写面试题合集

helloworld1024fd

JavaScript

醉三皇成为第12届北京国际网络电影展官方指定用酒品牌

联营汇聚

简单谈谈Redis中的几种java客户端以及优缺点!

风铃架构日知录

Java redis 程序员 程序人生 客户端

年终盘点丨最受开发者欢迎的文章 TOP20

阿里巴巴云原生

阿里云 云原生

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

安畅携手阿里云共建Landing Zone方案,助力企业上云无忧

云布道师

阿里云

每日一题之Vue的异步更新实现原理是怎样的?

bb_xiaxia1998

Vue

程序员该如何用“高科技”智能地教狗狗上厕所

风铃架构日知录

人工智能 深度学习 程序人生 后端 系统架构

《隐私计算白皮书(2022年)》概览

京东科技开发者

技术 安全 隐私保护 白皮书 企业号 1 月 PK 榜

每日一题之Vue数据劫持原理是什么?

bb_xiaxia1998

Vue

SOA 和微服务有何区别?

江南一点雨

Java 微服务 springboot SOA

前端必会手写面试题合集

helloworld1024fd

JavaScript

带你用20张图了解什么是 JVM 运行时数据区

风铃架构日知录

Java 程序员 JVM 码农 内存

从零开始实现一个Promise

helloworld1024fd

JavaScript

那些炫酷的CSS文字效果之诗词《兔》

南城FE

CSS css3 前端 动画

Java Netty框架自建DNS代理服务器教程

小小怪下士

Java 程序员 Netty DNS

表格集算表高性能原理——怎样实现纯前端百万行数据秒级响应

葡萄城技术团队

如何实现发送评论时总数自动加一?

Towify

分布式是大数据处理的万能药?

jiangxl

React面试:谈谈虚拟DOM,Diff算法与Key机制

beifeng1996

React

前端二面经典vue面试题指南

bb_xiaxia1998

Vue

京音平台-一起玩转SCRM之电销系统

京东科技开发者

架构设计 系统 scrm 企业号 1 月 PK 榜 电销

通用React框架Next.js发布5.0版本_JavaScript_Kevin Ball_InfoQ精选文章