Remix 1.9 发布,全栈框架

Remix 1.9 发布,全栈框架

来源: OSCHINA
编辑: Alias_Travis
2022-12-28 07:30:12

Remix 是一个由 React Router 开发团队所开发的基于 React 和 Node 的全栈框架,以解决开发者在用 React 开发时面临的一些棘手问题。

Remix 1.9 发布,更新内容如下:

支持 React Router 的可选路由段

我们在 React Router 6.5.0 的最新次要版本中支持可选路由段,现在 Remix 也支持它们。为此,我们为文件系统路由引入了一个新的约定。

由括号包围的路由文件名将被转换为 React Router 的可选段。例如, /($lang)/about 将被转换为 /:lang?/about

这意味着 /($lang)/about 将匹配:

/en/about
/fr/about
/about  <-- $lang is optional!

增加对新 TypeScript 语法的支持

Remix 编译器现在支持新的 TypeScript 4.9 语法。在最新的 TypeScript 版本中,有几个很酷的功能。

我们最喜欢的功能之一是 satisfies 关键字,它可以让你验证一个表达式是否符合给定的类型 —— 而不改变该表达式的结果类型。

// this example comes from the TypeScript 4.9 release notes
type Colors = "red" | "green" | "blue";
type RGB = [red: number, green: number, blue: number];
const palette = {
    red: [255, 0, 0],
    green: "#00ff00",
    bleu: [0, 0, 255]
//  ~~~~ The typo is now caught!
} satisfies Record<Colors, string | RGB>;
// Both of these methods are still accessible!
const redComponent = palette.red.at(0);
const greenNormalized = palette.green.toUpperCase();

路由性能提升

有时候,你可以从微小的变化中获得巨大的收益。我们对 defineConventionalRoutes 中的查找算法进行了调整。

在一个较大的、现实的项目(约 700 条路由)的生产构建的本地运行中:

  • 以前:10-15 秒
  • 现在:1 秒,10 倍的速度提升

错误修复:Firefox 和 <LiveReload>

修复了 Firefox 中 <LiveReload> 的一个问题,该问题导致页面在更改后无限地重新加载。

更多详情可查看:https://github.com/remix-run/remix/releases/tag/remix%401.9.0

 

posted on 2022-12-28 15:37  漫思  阅读(241)  评论(0编辑  收藏  举报

导航