写点什么

通用 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:002804

评论

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

云原生赋能开发测试

百度Geek说

元原生

代码语言的魅力

百度Geek说

netty系列之:在netty中实现线程和CPU绑定

程序那些事

Java Netty 程序那些事 5月月更

[Day41]-[回溯]-全排列

方勇(gopher)

LeetCode 回溯算法 数据结构算法

如何使用阿里云 CDN 对部署在函数计算上的静态网站进行缓存

阿里巴巴云原生

阿里云 Serverless 云原生 CDN 函数计算

【刷题第12天】58. 最后一个单词的长度

白日梦

5月月更

第三方 IP:管理半导体外部 IP

龙智—DevSecOps解决方案

perforce Methodics IPLM 管理 IP

[Day42]-[回溯]-组合

方勇(gopher)

LeetCode 数据结构和算法 回溯算法

要做研发高手,就是必须能看英文、写英文

TDengine

数据库 tdengine 开源

B站S11破亿直播在线稳定性保障秘籍——演讲实录

TakinTalks稳定性社区

混沌工程 系统稳定性 全链路压测 安全生产

敏捷已死

方云AI研发绩效

携手 TDengine,释普科技升级实验室仪器、监控智能方案

TDengine

数据库 tdengine 开源 物联网

为什么说 MongoDB 和 HBase 不适用于汽车行业的时序数据处理?

TDengine

数据库 tdengine 开源 时序数据库

druid源码学习八

Nick

Apache Druid 自旋锁

Docker学习记录

ZuccRoger

5月月更

「国货」设计SaaS崛起,黑马inCreate自图冲出公装赛道

ToB行业头条

LinkedList 源码分析-初始化&节点查询

zarmnosaj

5月月更

客户成功是一种思维模式 | ONES 人物

万事ONES

火山引擎大规模机器学习平台架构设计与应用实践

火山引擎开发者社区

人工智能 机器学习

时序数据库的集群方案?

TDengine

数据库 tdengine 开源

ApacheCon Asia 2022 强势来袭!16 大专题等你投稿!

阿里巴巴云原生

开源 云原生 活动

TDengine 在酷哞哞的应用

TDengine

数据库 tdengine 开源 物联网

百度程序员Android开发小技巧

百度Geek说

移动端

二分实现及工程使用—Kafka

工程师日月

算法 java 编程 5月月更

争夺存量用户关键战,助力企业构建完美标签体系丨01期直播回顾

袋鼠云数栈

大数据 数据中台

携手数字人、数字空间、XR平台,阿里云与伙伴共同建设“新视界”

阿里云弹性计算

XR 数字人 视觉计算 瑶台

火爆的健身应用软件是如何一步一步打造出来的?

龙智—DevSecOps解决方案

DevOps perforce Helix Core

时间序列化数据库选型?时序数据库的选择?

TDengine

数据库 tdengine

加入MOVE,一起体验Move2Earn的运动乐趣

BlockChain先知

为什么企业要告别自托管并迁移到 Atlassian 云版?

龙智—DevSecOps解决方案

Atlassian Atlassian 云版 Atlassian迁移

直播预约|数据指标体系如何搭建才最有效,从0到1带你快速入门

袋鼠云数栈

大数据 数据中台

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