Remix 自我介绍
Build Better Websites. Create modern, resilient user experiences with web fundamentals.
Remix 1.15.0 公布日期
2023-04-01
更新目录
- 更新文章:为 v2 预筹备
- 文件系统路由约定
- 元路由发生变化
- 谬误边界发生变化
- 钩子函数:usetransition、useFetcher 属性变量展平
- formMethod 的办法大小写更改
- route 模块的 link/links 产生了变动
- 构建目录命名发生变化
- 服务端构建产生了变动
- 同时在开发服务器中开始 UI 调用 css 相干库开始反对 css modules, 提取,tailwind 反对,postcss 反对。
remix 开发版分支
- 开发版文档分支
- Github dev 分支
创立 Remix 配置文件变动
/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
// assetsBuildDirectory: "public/build",
// serverBuildPath: "build/index.js",
// publicPath: "/build/",
future: {
v2_errorBoundary: true,
v2_meta: true,
v2_normalizeFormMethod: true,
v2_routeConvention: true,
},
};
future 中更:
配置 | 阐明 |
---|---|
errorBoundary | 新的谬误边界 |
meta | 新的 meta 解决形式 |
normalizeFormMethod | 一般的 Form 办法 |
routeConvention | 路由转换(新的路由转换) |
路由约定
新版的路由约定,应用 点路由宰割符号
的形式,不在反对文件夹嵌套的模式。index 文件路由改为 _index
路由,布局路由应用 _
开始的前缀代替__
双下划线开始的前缀路由布局路由。
meta
在 v1 中,meta 函数返回对象,然而在 v2 中放回数组。同时对应的类型产生了变动。
谬误边界解决
v2 中只有了 ErrorBoundary 组件,处理错误,同时配合 useRouteError 钩子函数,isRouteErrorResponse 判断谬误。
transition、fetcher
为了更加简略的曾经 submission 字段移除,更加间接的应用 formData/formMethod/formAction/type
import {useNavigation} from "@remix-run/react";
function SomeComponent() {let navigation = useNavigation();
navigation.formData;
navigation.formMethod;
navigation.formAction;
navigation.type;
navigation.formMethod === "POST";
}
import {useNavigation} from "@remix-run/react";
function SomeComponent() {let fetcher = useTransition();
fetcher.formData;
fetcher.formMethod;
fetcher.formAction;
fetcher.type;
}
图像地址应用 imageSrcSet/imageSizes
应用小驼峰形式
export const links: V2_LinksFunction = () => {
return [
{
rel: "preload",
as: "image",
imageSrcSet: "...",
imageSizes: "...",
},
];
};
构建地址
- 客户端
/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {assetsBuildDirectory: "./public/build", // 全新的字段};
- 服务端
/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {serverBuildDirectory: "./build/index.js", // 构建到新的 index.js 文件};
第三方服务器和 css 库的反对
Remix 反对在配置文件中配置对第三方服务器的解决状况:
- arc
- cloudflare-pages
- cloudflare-workers
- deno
- netlify
- node-cjs
- vercel
css 模块
- css module
- 原生提取
- tailwind
- postcss
小结
本次改变并不大,次要针对配置文件,路由书写范式,谬误边界对立解决,钩子函数属性深层次简化,以及 css 款式反对。