Login
欢迎访问木星教程网_技术成就梦想 - 为知识分享服务
【我要投稿】 【请登录】 【免费注册】 【安全退出】

您现在的位置是: 首页 > 技术 > 开源

开源

Remix 1.9 发布,全栈框架

2022-12-28 开源 加入收藏
Remix 是一个由 React Router 开发团队所开发的基于 React 和 Node 的全栈框架,以解决开发者在用 React 开发时面临的一些棘手问题。Remix 1.9 发布,更新内容如下:支持 React Router 的可选路由段我们在 React Router 6.5.0 的最新次要版本中支持可选路由段,现在 Remix 也支持它们。为此,我们为文件系统路由引入了一个新的约定。

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 notestype 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> 的一个问题,该问题导致页面在更改后无限地重新加载。


原文地址: