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
直接引用store
history
localeId
的方式已被完全弃用,请改用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-dom
cache-loader
get-image-colors
isomorphic-fetch
react-hot-loader
yargs
新特性
- 现已支持 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
的cacheFirst
networkFirst
networkOnly
扩展缓存策略选项,其数组 (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-table
filesize
- 更新依赖包 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 处理时的