《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

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

评论

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

eBPF动手实践系列二:构建基于纯C语言的eBPF项目

阿里云大数据AI技术

运维 C语言 ebpf 企业号 5 月 PK 榜

从张量积看低代码平台的设计

canonical

开源 低代码 架构设计 低代码平台 领域模型

系统学Java,看这篇Java综合笔记万字总结就够了!纯干货分享

Java你猿哥

Java spring 面试 ssm 多线程与高并发

从可逆计算看开源低代码平台Skyve的设计

canonical

开源 低代码 架构设计 低代码平台 扩展机制

如果重写SpringBoot,我们会做哪些不同的选择?

canonical

开源 低代码 架构设计 springboot spring ioc

分库分表的 21 条法则,hold 住!

程序员小富

分库分表 springboot 分库表

Y组合子的一个启发式推导

canonical

函数式编程 函数式 Lambda演算 Y组合子 不动点

支持GraalVM原生编译的开源低代码平台:Nop Platform

canonical

开源 低代码 GraalVM Quarkus 低代码平台

分类树,我从2s优化到0.1s

Java你猿哥

Java 算法 ssm 分类树

《银河护卫队3》观后感:AI、人生

无人之路

AI 电影

可逆计算:下一代软件构造理论

canonical

低代码 软件架构 函数式编程 领域驱动模型DDD 中台架构 低代码平台

如何用 ModelScope 实现 “AI 换脸” 视频

北桥苏

Python ModelScope

led大屏幕存在的问题

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

关于 ModelScope 的视频 “AI 换脸” 优化方案

北桥苏

Python ModelScope

再见!Fastjson!

Java你猿哥

Java ssm Fastjson

为什么说百度AMIS框架是一个优秀的设计

canonical

开源 前端架构 低代码 低代码平台 百度AMIS

springboot整合redis基础示例

(-0 , +0)

一把王者的时间,带你吃透Java面试八股文(2023最新整理)

Java你猿哥

Java 面试 微服务 Spring Boot mybatis

SpringBoot整合MybatisPlus基础教程

(-0 , +0)

springboot Mybatis Plus

性能优化多重要?凭借华为791页Mysql金字塔性能调优手册,进阿里

Java MySQL 性能优化 性能调优

这份阿里逆天的Redis手册,于内卷中首次亮相了

Java你猿哥

Java redis 面试 Redis 核心技术与实战 redis 底层原理

XDSL:通用的领域特定语言设计

canonical

开源 低代码 dsl 领域特定语言 领域语言工作台

不是单例的单例——巧用ClassLoader

PPPHUANG

单例模式 ClassLoader ContextClassLoader Java web

Paxos的魔法学研究报告

canonical

paxos协议 共识算法 分布式, 分布式算法 深入理解分布式共识算法

宝兰德应用服务器软件与华为云GaussDB完成兼容互认证

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

一图看懂CodeArts Deploy 5大特性,带你玩转部署服务

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

如何在不修改基础产品源码的情况下实现定制化开发

canonical

开源 低代码 定制化 迭代增量开发 可扩展性

采用Excel作为设计器的开源中国式报表引擎:NopReport

canonical

开源 低代码 报表 BI 报表 中国式报表

火山引擎DataTester:A/B实验平台数据集成技术分享

字节跳动数据平台

问鼎CodeXGLUE榜单,华为云UniXcoder-VESO-v1算法取得突破

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 5 月 PK 榜

中移链合约常用开发介绍(四)工程树目录

BSN研习社

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