- feat: 新增
lazy
高阶组件,支持 SSR 的异步组件 - feat: 新增
viewWillHydrate
生命周期,可以在 SSR 后,CSR 之前,为 hydrate 做准备工作,如加载异步组件等
2021/12/17
- fix: fix
core-js
version by v3.19.3,The version of v3.20 rewriteError
that make some libraries crashed.
2021/11/01
- fix: fix(config): export default babel config
- feat: feat(config): add defineConfig
2021/01/04
- fix: cannot load es6 module with dynamic
- perf: add htmlescape
2020/10/22
- fix: cannot resole commonjs module file
2020/10/16
- feat: support
[email protected]
- fix: 在 build 任务中手动退出进程,防止进程悬挂
- fix: cannot start without config
2020/8/14
- fix: native context
2020/8/14
- feat: support
[email protected]
- fix: webpack run from vm
2020/5/28
- fix: config
hot: true
open HotModuleReplacementPlugin when build
2020/5/28
- fix: open webpack-hot-middleware when build
2020/5/28
- fix: controller ErrorBoundary hasError field error
2020/5/28
- fix: Cannot find module 'webpack-hot-middleware/client?noInfo=true&reload=true
2020/5/28
- feat: client initialize redirect error catch
- fix: 修复 webpack externals 配置错误的问题,引入 webpack-node-externals
2020/5/8
-
feat: support four way to import Controller in routes.
// src/pages/index.ts import ES6_Module from './es6_module/Controller' export default [ { path: '/es6_dynamic_loader', controller: () => import('./es6_module/Controller'), }, { path: '/es6_loader', controller: () => ES6_Import, }, { path: '/es6_module', controller: ES6_Module, }, { path: '/es6_dynamic', controller: import('./es6_module/Controller'), }, ]
2020/4/23
- perf: replace query-string of querystring
- ci: remove babel-plugin-dynamic-import-node dependence
- style: remove @babel/plugin-syntax-dynamic-import dependence, it defaultly installed in @babel/preset-env
2020/4/10
-
refactor: support for Typescript(More details are in guidance of migration).
-
feat: Props of View changed from
{ state, actions, handlers }
to{ state, ctrl }
. -
fix: Hooks should be used with clear type of
state, actions, ctrl
. -
feat: Support to write
imvc.config.ts
with TypeScript. But it's syntax supported is stable, You can't add support syntax by any way. -
feat: Set webpackConfig.resolve.modules to default config.
-
feat: Don't stop render when catch error which throwed while preloading css file. It will render the DOM without style and console error message at terminal.
-
Don't change or override the type of attribute is
BaseState
, it will happen unpredictable error. -
Both
shouldComponentCreate
andcomponentWillCreate
is support bothsync
andasync
two mode programming. But when you extends Controller and overwrite these two method it's mode will be settled. If these are some mix usage. you must fix it by choose one mode(suggestasync
). -
The default view file extension is 'js'. If you want to use other extension file, please add in config.(eg.view.tsx)
-
Props of
View
have changed fromstate, handlers, actions
tostate, ctrl
.
2020/1/8
- fix: deprecated: 废弃 imvc.config 的 initialState 配置,它会导致浏览器端误判已经做过 SSR,跳过 getInitialState 等生命周期。可以通过 initialState.js 这种模块方式去共享状态。
2019/12/4
- feat: fallback to non-style page when preload css failed
2019/12/4
- style: remove non-ascii characters in controller.js
- fix: reset webpackConfig.resolve.modules to default config
2019/9/27
- fix: gulp empty task error
- fix: fixed gulp task bug
2019/9/27
- feat: 支持禁用 gulp 任务
2019/9/4
- fix: 'fetch is not a function' Error
2019/9/3
- feat: Error Handling 支持异步生命周期的处理
- feat: 为保护性复制功能加开关
- feat: 支持使用者手动传入自定义的 fetch 方法替换 window.fetch 和 node*fetch
2019/8/15
- fix: 修正 cookieParser 传参
2019/8/1
- fix: Forwarder 没有静态属性,antd 报错
2019/7/31
- fix: 🐛 process not exiting after test (Mocha Won't Force Exit)
- fix: remove unnessarry removing proxyHandler
2019/7/24
- feat: 支持外露 resetScrollOnMount 实现自动滚动至顶部可配置
2019/7/17
- feat: 增加
ctr.fetch
的 options 参数,options.timeoutErrorFormatter,支持自定义超时错误信息 - perf: 升级 morgan 版本,解决安全隐患。
2019/7/1
- perf: 升级 createapp 到 v1.0.0,跟 reactimvc v1.x 的 create*app v0.8.x 依赖做明确的版本区分
- feat: 新增 api
ctrl.renderView(ReactComponent)
,只在客户端生效,可以在componentWillCreate
及之后的生命周期方法里执行
2019/6/25
- feat: src/lib/es5 目录不进行 babel,直接 uglify
2019/6/25
- fix: 错误捕获跟 KeepAlive 不兼容
2019/6/18
- fix: 劫持 React.createElement 的时机修改为 render 前,并在 render 后重置回去,防止内存泄漏
2019/6/14
- fix: gulp/webpack 配置问题
2019/6/14
- fix: 全局错误捕获,导致 KeepAlive 失效的问题
2019/6/12
- feat: 支持组件层面忽略错误代理控制
2019/6/12
- fix: build 异常直接退出
2019/5/31
- fix: 增加 initialstate 保护性复制
2019/5/30
- fix: ErrorBoundary 的缓存应该跟着每个 controller 实例,否则 controller.reload 时会错误的使用上一个 ctrl 实例
2019/5/28
- fix: ErrorBoundary 没有传递 ref 的问题
2019/5/28
- fix: controller.preload 为空 f 报错
2019/5/27
- fix: getViewFallback 返回 null 导致请求永远挂起
- fix: SSR 出错时,preload 未正确获取
2019/5/24
- feat: 增加全局错误捕获的机制
2019/5/10
- fix: bug in controller.reload()
2019/4/11
- fix: clear view cache before render
2019/2/13
- feat: change hooks-api
2019/2/9
- feat: 增加对
typescript
的支持 - refactor:
util
模块用typescript
重构
2019/2/8
- feat: 增加对
react*hooks
的支持useCtrl
获取当前 controller 的实例useModel
获取当前的 global stateuseActions
获取当前的 actions 对象
- feat: 默认设置 config.routes 为 routes
2019/1/23
- fix: redirect fail continue render
2019/1/23
- perf: 优化
controller.redirect
- 支持在更多生命周期里调用,如
getInitialState
,shouldComponentCreate
,componentWillCreate
等 - 使用
throw
语句模拟浏览器跳转时中断代码执行的效果
- 支持在更多生命周期里调用,如
- feat: add server-bundle-mode supports
2019/1/19
- feat: change sourcemap config in dev env pr
- refactor: 升级 gulp 套件到 v4.x 版本
- feat: 支持打包出
server*bundle.js
// imvc.config.js
{
useServerBundle: true, // 开启 serverBundle 模式
serverBundleName: 'server.bunlde.js', // 如需修改 serverBundle 的文件名,配置该字段
}
2018/12/13
- feat: support renderMode config
2018/12/11
- fix: XSS problem
2018/11/20
- fix: bug in controller.reload
2018/11/20
- feat: add webpackLogger config
- fix: single component context bug in keep-alive mode
- fix: cache key
- feat: add keep-alive-on-push support
2018/11/9
- feat: Drop console.log in production code
2018/11/7
- fix: set-up-server-dev
2018/11/5
- perf: upgrade react webpack babel
- feat: solve many problems
- feat: support server side hot module replacement
- fix: Style component;
- fix: test script
2019/5/28
- fix: create-app 更新导致不兼容 react-imvc v.1x
2019/4/11
- fix: clear view cache before render
2018/10/24
- feat: add prefetch support
2018/8/11
- feat: add polyfill and json-loader
2018/7/6
- feat: 虚拟目录对大小写不敏感
2018/6/7
- feat: add HMR support
- feat: 支持通过 res.locals.layoutView 动态确定 layoutView
- feat: 默认不开启开发阶段的系统提示
2018/3/26
- feat: add node-notifier
2018/3/21
- feat: webpack 代码分割时路径统一化
- style: fixed typo
- feat: Update index.js
2018/1/26
- fix: gulp copy regexp
2018/1/24
- feat: 支持拷贝 lib 目录时,顺便 babel 编译一下 ES6 代码
2018/1/10
- fix: webpack plugins bug
2018/1/9
- feat: disable hsts by default
2017/12/22
- feat: 去掉 react render 的 log 日志
- perf: 优化 cacheView 中间件
- feat: 删除 location.key 以支持浏览器 304 检测
- feat: 支持传 express.staitc 的 options 参数
- fix: Input 组件 onFocus 事件不触发的 bug
2017/12/8
- feat: 支持配置 webpack loaders
- feat: 支持 controller 实例的 restapi 属性覆盖全局 restapi 配置
2017/12/5
- feat: 去掉自定义的简陋 logger,适配 redux dev tools
- feat: 只在生产环境开启 redux,避免 store 无限增长打来内存泄露问题
2017/11/24
- feat: 支持手动调用 res.renderPage 渲染 imvc 页面
2017/11/17
- fix: 处理自定义 router 拿不到完整的 client appSettings 的问题
2017/11/7
- feat: 支持 controller.SSR 作为异步方法,动态判断是否需要服务端渲染
2017/11/3
- fix: 解决 Link 组件 SSR 和 CSR 在有 basename 时不匹配的问题
2017/10/31
- perf: optimize publicPath handler
- feat: remove wrapRender
- perf: optimize mock route
- perf: reset webpack compile assets position
2017/10/28
- perf: 优化 Link 组件
- feat: 新增 NavLink 组件
2017/10/21
- feat: 取消默认美化 html 输出
- perf: update babel cofnig
- fix: 解决重新无刷新加载当前 url 时,没有从头走一遍生命周期过程的问题,添加 reload 方法
2017/10/10
- feat: 优化 connect 高阶组件,去掉 PureComponent 机制
2017/10/5
- feat: 新增两个生命周期方法:getFinalActions && stateDidReuse
- feat: 允许关闭 logger
2017/9/27
- feat: change action name of PAGE_DID_BACK
- perf: 优化 attachLogger 的时机
2017/9/26
- perf: 优化 KeepAlive 的实现
- feat: 为组件空 div 添加 css class 名
- perf: 优化 Style 组件,避免重复渲染同一份样式
- feat: 优化 KeepAlive 的实现,支持恢复滚动条位置
2017/9/12
- feat: only call getInitialState once
- feat: 支持自定义 gulp src 配置,优化生成静态入口的 log 输出
- fix: uglify options pass the wrong way
2017/9/9
- feat: add controller.post method
2017/9/6
- feat: set default config.routes = ''
- perf: remove error handler from resolve custome config
2017/9/5
- feat: default clost staticEntry and server routes
2017/9/1
- feat: remove log
2017/9/1
- feat: remove BaseView Component
2017/9/1
- feat: add PAGE_DID_BACK default action
- feat: add componentDidFirstMount
- feat: add restore