Releases: umijs/umi-next
v4.0.0-rc.6
1、支持 Api Routes。Api Routes 参考的是 Next.js 的功能,开发者在 src/api 目录下放置 Serverless Function 格式的文件,即为 API 路由,这部分路由会打包成不同平台支持的 Serverless Function 产物,暂时只支持 vercel 平台。场景比如带 token 的 API 调用、动态数据源、基于 Notion API 的 Blog、Hackernews Clone 等等。
export default {
apiRoute: {
platform: 'vercel',
},
};
2、Vite 打包模式依赖瘦身。针对 Vite 相关依赖进行预打包和删除处理,不仅让尺寸更小,同时不会因为三方库的更新引起 Umi 的 Bug。Umi 4 RC 5 是 141.8M,RC 6 是 109M。
3、新增 monorepoRedirect 配置。在 monorepo 中使用 umi 时,你可能需要引入其他子包的组件、工具等,通过开启此选项来重定向这些子包的导入到他们的源码位置(默认为 src 文件夹),这也可以解决 MFSU 场景改动子包不热更新的问题。
export default {
monorepoRedirect: {},
}
4、修复 umi.css、umi.js 等 assets 资源在 html 中的路径问题。支持 publicPath 和 hash 的场景。
5、appData 新增 git 信息,插件开发者可通过 api.appData.git 访问到。
6、Vite 模式的端口号支持冲突时自动 +1 。
7、插件 reexport 支持纯类型的成员。
8、插件 reexport 冲突检测。
9、tailwindcss 插件修复 build 阶段不退出和 winPath 问题。
10、BREAK CHANGE:antd 插件删除默认的 antd 依赖,使用时需要手动安装 antd 依赖。
11、Umi 仓库接入 Turborepo,据 Umi Contributors 反馈,build 等命令提升效果明显。
12、Umi 仓库新增手写的 prettier-plugin-sort-keys 插件,自动对声明了 // sort-object-keys
的文件做对象属性的自动排序。
13、Vite 模式支持通过 vite
配置项增量/覆盖内部生成的 Vite 配置。
v4.0.0-rc.5
1、紧急修复 @swc/core 依赖找不到报错的问题
v4.0.0-rc.4
1、vite 模式开启方式变更,之前通过不正式的命令行参数 --vite,现改用配置 vite: {} 开启
export default {
vite: {}
}
2、修复 plugins moment2dayjs 和 qiankun 在 windows 下路径报错的问题,截止目前为止,examples 目录下的 ant-design-pro 和 bigfish 均可在 windows 下正常运行
3、新增 crossorigin 支持,通过配置 crossorign 开启,通常用于脚本的错误监控
export default {
crossorigin: {}
}
4、Umi 安装包瘦身,@swc/core 改用按需安装的方式,即如果大家在配置里开启 srcTranspiler: 'swc' 或 depTranspiler: 'swc',那启动时会检测 package.json 中是否存在 @swc/core,如果没有,会自动安装一份到项目目录
info - [plugin: @umijs/preset-umi/dist/features/depsOnDemand/depsOnDemand] Since swc is used, install @swc/core on demand.
5、依赖升级,包括 @parcel/[email protected]、[email protected]、[email protected]、[email protected] 等
v4.0.0-rc.3
1、新官网,暂时通过 next 前缀访问,后续会找时间切换,https://next.umijs.org/
2、新增支持测试,Umi 提供两个接口,createConfig 和 configUmiAlias,前者用于生成 Jest 配置,后者用于添加 Umi Alias 信息到 Jest 配置
import { Config, configUmiAlias, createConfig } from 'umi/test';
export default async () => {
return (await configUmiAlias({
...createConfig({
target: 'browser',
}),
})) as Config.InitialOptions;
};
3、CSS 压缩新增 Parcel CSS 支持,速度和 esbuild 差不多,但对于规则的细节处理更好,配置 cssMinifier: 'parcelCSS' 即可
export default {
cssMinifier: 'parcelCSS'
}
4、修改默认 loading 效果为空