写点什么

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

评论

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

AI数学基础之:奇异值和奇异值分解

程序那些事

人工智能 机器学习 程序那些事 矩阵运算

28天瞎写的第二百四十二天:正念冥想,我要想什么?

树上

冥想 28天写作 正念

【编程小白福利】办公自动化--从VBA到Python

IT蜗壳-Tango

七日更 28天写作 2月春节不断更 办公自动化 IT蜗壳

处理 Exception 的几种实践,很优雅,被很多团队采纳!

xcbeyond

Java 异常处理 28天写作

使用 Tye 辅助开发 k8s 应用竟如此简单(五)

newbe36524

微服务 netcore 全链路追踪 dotnet dapr

2021金三银四必备:Java后端开发面试总结【25个技术专题】

比伯

Java 编程 架构 面试 计算机

极客大学·产品经理训练营·第四章作业(第五周)

二大爷

极客大学产品经理训练营

将上周写的用例画成流程图-第四章,第三讲

mas

深度集成 Flink: Apache Iceberg 0.11.0 最新功能解读

DataFunTalk

【计算机内功修炼】九:程序员应如何理解协程

码农的荒岛求生

线程 操作系统 进程 协程

改变认知,到写作方式的改变

数列科技杨德华

28天写作

框架效应如何影响人的决策?「Day 4」

道伟

心理 决策 28天写作

Elasticsearch Validate API

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 二月春节不断更

程序员的职业生涯与赛道选择

刘旭东

职业规划 码农 职业生涯

gRPC库C++构建及示例

长不胖的Garfield

c++ gRPC

一名青少年创客导师

厌倦你

编程

悟透前端 | javascript数组之includes、reduce

devpoint

ES6 includes reduce

产品经理训练营-第五周作业

月亮 😝

面试中经常问到的动态代理到底是什么

废材姑娘

Java

产品经理训练营-第五周学习总结

月亮 😝

保持前进

Nydia

流程图

王一凡

产品经理训练营 - 第五次作业

Jophie

产品经理训练营

「产品经理训练营」第五周 作业记录

周玲

地表建筑物识别 Dayo2

IT蜗壳-Tango

七日更 28天写作 2月春节不断更

第十三周学习心得

cc

圈子创业

张老蔫

28天写作

第十三周命题作业

cc

作业5

瑾瑾呀

Linux c 开发 - 内存管理器ptmalloc

赖猫

Linux 后台开发 内存管理

翻译:《实用的Python编程》02_04_Sequences

codists

Python 人工智能 面试 数据结构与算法 序列

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