Releases: cmux/koot
Releases · cmux/koot
v0.15.17
v0.15.16
v0.15.15
v0.15.14
v0.15.13
v0.15.12
v0.15.11
v0.15.9
[0.15.9] - 2022-07-25
koot-webpack
- 针对
mode === 'development'扩展babel-loader配置:generatorOps = { compact: false } - 针对 Qiankun 子项目优化 Webpack 配置
[0.15.5] - 2022-07-16
koot-qiankun
- 现在可以通过
qiankun.entry定制 Qiankun 子项目的entry脚本文件 - 修正生产环境中没有添加路由
basename的问题
[0.15.3] - 2022-07-15
koot
- 修正 React SSR 项目开发环境不可用的问题
[0.15.0] - 2022-07-14
⚠ 重大改动 ⚠
-
此次更新包含诸多重大改动,对于已有项目的升级,请参阅升级指南
-
Node.js 最低版本要求提升到
14.15.0 -
从
koot直接引用storehistorylocaleId的方式已被完全弃用,请改用getStore()getHistory()getLocaleId()- 0.14:
import { store, history, localeId } from 'koot'; if (localeId === 'zh') { console.log(store.getState()); history.push('/index'); }
- 0.15:
import { getStore, getHistory, getLocaleId } from 'koot'; if (getLocaleId() === 'zh') { console.log(getStore().getState()); getHistory().push('/index'); }
-
内置的多语言处理方式改为 Babel 插件,原 Webpack 插件现已弃用 (#215)
- 原则上对已有项目不会造成影响。如遇问题请进行反馈
-
重大依赖库版本更新。Koot.js 内部已存在部分兼容性处理,原则上对已有项目不会造成影响,如遇到相关问题可点击对应的问题链接进行反馈
-
移除以下依赖包,现在不会默认安装。如有使用需要,请在项目中自行安装
@diablohu/hard-source-webpack-plugin@hot-loader/react-domcache-loaderget-image-colorsisomorphic-fetchreact-hot-loaderyargs
新特性
- 现已支持 Qiankun 微前端子项目开发。请参见文档 Qiankun。
- 现已支持全新的 JSX 转译引擎 (#282)
- 该功能对从 0.15 之前版本升级而来的项目默认关闭,如需开启请参阅 React 官方文档
- 使用
create-koot-app(koot-cli) 创建的新项目会使用该新特性
- 新配置项
beforeBuild- 生命周期方法: 打包即将开始时 (#288)- 详情请参见文档 生命周期
- 新配置项
afterBuild- 生命周期方法: 打包刚刚完成时 (#288)- 详情请参见文档 生命周期
- 新配置项
reactLegacyRef- 如果发现更新后 React 的ref结果有变化,可以尝试打开该选项 - 详情请参见文档 React - 在进行打包、启动开发环境之前,现在会进行 Node.js 版本检查,如果不通过,会终止流程 (#274)
- React 组件的热更新现在改用官方的 Fast Refresh 机制,理论上热更新效率会有提升,原则上对已有项目不会造成负面影响。相关信息请查阅 React 官方讨论帖
- SSR 项目
- 渲染缓存的
get()和set()方法现在均新增一个参数,值为本次请求的 KOA Context (#294)
- 渲染缓存的
优化
serviceWorker的cacheFirstnetworkFirstnetworkOnly扩展缓存策略选项,其数组 (Array) 内现在可以直接传入正则表达式和用以分析请求的函数,请参见文档 Service Worker/扩展缓存规则- SPA 项目
- 打包结果中附带的简易服务器现在支持
serverBefore和serverAfter生命周期 (#292)
- 打包结果中附带的简易服务器现在支持
错误修正
extend()高阶组件的pageinfo方法没有返回title时,页面标题被清空的问题- SPA 项目中如果没有启用多语言,初次访问开发环境时会报告 Redux 相关错误,提示无法辨识的 Key 的问题 (#230)
- SPA 项目中如果设定了
historyType为browser同时 Webpack 配置中设定了output.publicPath,后者不生效的问题 (#249)
各子包其他改动
-
koot
- 更新依赖包 major 版本号
commander-> ^9.3.0filesize-> ^9.0.11fs-extra-> ^10.1.0glob-promise-> ^4.2.2execa-> ^5.1.1filesize-> ^8.0.3js-cookie-> ^3.0.0koa-convert-> ^2.0.0koa-helmet-> ^6.1.0koa-router-> ^11.0.1pm2-> ^5.2.0react-> ^17.0.2react-dom-> ^17.0.2react-redux-> ^8.0.2sharp-> ^0.30.7typescript-> ^4.7.4
- 添加依赖包
cli-tablefilesize
- 更新依赖包 major 版本号
-
koot-electron
- 更新依赖包 major 版本号
electron-> ^19.0.8electron-builder-> ^23.1.0
- 更新依赖包 major 版本号
-
koot-webpack
- 移除 CSS 处理时的
universal-alias-loader逻辑- 新版 Webpack 已默认支持
css-loader使用resolve.alias配置,该 Loader 不再需要
- 新版 Webpack 已默认支持
- 更新依赖包 major 版本号
compression-webpack-plugin-> ^10.0.0copy-webpack-plugin-> ^11.0.0css-loader-> ^6.7.1less-> ^4.1.3less-loader-> ^11.0.0mini-css-extract-plugin-> ^2.6.1postcss-> ^8.4.14 (#285)postcss-loader-> ^7.0.1sass-loader-> ^13.0.2schema-utils-> ^4.0.0style-loader-> ^3.3.1thread-loader-> ^3.0.4webpack-> ^5.73.0 (#215)webpack-bundle-analyzer-> ^4.5.0webpack-dev-middleware-> ^5.3.3webpack-dev-server-> ^4.9.3 (#301) (官方升级指南)workbox-webpack-plugin-> ^6.5.3
- 添加依赖包
@babel/plugin-proposal-nullish-coalescing-operator@babel/plugin-proposal-optional-chaining@pmmmwh/react-refresh-webpack-plugin
- 移除 CSS 处理时的