-
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
.
- fix: deprecated: 废弃 imvc.config 的 initialState 配置,它会导致浏览器端误判已经做过 SSR,跳过 getInitialState 等生命周期。可以通过 initialState.js 这种模块方式去共享状态。
- feat: fallback to non-style page when preload css failed
- style: remove non-ascii characters in controller.js
- fix: reset webpackConfig.resolve.modules to default config
- fix: gulp empty task error
- fix: fixed gulp task bug
- feat: 支持禁用 gulp 任务
- fix: 'fetch is not a function' Error
- feat: Error Handling 支持异步生命周期的处理
- feat: 为保护性复制功能加开关
- feat: 支持使用者手动传入自定义的fetch方法替换window.fetch和node*fetch
- fix: 修正cookieParser传参
- fix: Forwarder 没有静态属性,antd 报错
- fix: 🐛 process not exiting after test (Mocha Won't Force Exit)
- fix: remove unnessarry removing proxyHandler
- feat: 支持外露resetScrollOnMount实现自动滚动至顶部可配置
- feat: 增加
ctr.fetch
的 options 参数,options.timeoutErrorFormatter,支持自定义超时错误信息 - perf: 升级 morgan 版本,解决安全隐患。
- perf: 升级 createapp 到 v1.0.0,跟 reactimvc v1.x 的 create*app v0.8.x 依赖做明确的版本区分
- feat: 新增 api
ctrl.renderView(ReactComponent)
,只在客户端生效,可以在componentWillCreate
及之后的生命周期方法里执行
- feat: src/lib/es5 目录不进行 babel,直接 uglify
- fix: 错误捕获跟 KeepAlive 不兼容
- fix: 劫持 React.createElement 的时机修改为 render 前,并在 render 后重置回去,防止内存泄漏
- fix: gulp/webpack 配置问题
- fix: 全局错误捕获,导致 KeepAlive 失效的问题
- feat: 支持组件层面忽略错误代理控制
- fix: build异常直接退出
- fix: 增加initialstate 保护性复制
- fix: ErrorBoundary 的缓存应该跟着每个 controller 实例,否则 controller.reload 时会错误的使用上一个 ctrl 实例
- fix: ErrorBoundary 没有传递 ref 的问题
- fix: controller.preload 为空f报错
- fix: getViewFallback 返回 null 导致请求永远挂起
- fix: SSR 出错时,preload 未正确获取
- feat: 增加全局错误捕获的机制
- fix: bug in controller.reload()
- fix: clear view cache before render
- feat: change hooks-api
- feat: 增加对
typescript
的支持 - refactor:
util
模块用typescript
重构
- feat: 增加对
react*hooks
的支持useCtrl
获取当前 controller 的实例useModel
获取当前的 global stateuseActions
获取当前的 actions 对象
- feat: 默认设置 config.routes 为 routes
- fix: redirect fail continue render
- perf: 优化
controller.redirect
- 支持在更多生命周期里调用,如
getInitialState
,shouldComponentCreate
,componentWillCreate
等 - 使用
throw
语句模拟浏览器跳转时中断代码执行的效果
- 支持在更多生命周期里调用,如
- feat: add server-bundle-mode supports
- 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 的文件名,配置该字段
}
- feat: support renderMode config
- fix: XSS problem
- fix: bug in controller.reload
- feat: add webpackLogger config
- fix: single component context bug in keep-alive mode
- fix: cache key
- feat: add keep-alive-on-push support
- feat: Drop console.log in production code
- fix: set-up-server-dev
- perf: upgrade react webpack babel
- feat: solve many problems
- feat: support server side hot module replacement
- fix: Style component;
- fix: test script
- fix: create-app 更新导致不兼容 react-imvc v.1x
- fix: clear view cache before render
- feat: add prefetch support
- feat: add polyfill and json-loader
- feat: 虚拟目录对大小写不敏感
- feat: add HMR support
- feat: 支持通过 res.locals.layoutView 动态确定 layoutView
- feat: 默认不开启开发阶段的系统提示
- feat: add node-notifier
- feat: webpack代码分割时路径统一化
- style: fixed typo
- feat: Update index.js
- fix: gulp copy regexp
- feat: 支持拷贝 lib 目录时,顺便 babel 编译一下 ES6 代码
- fix: webpack plugins bug
- feat: disable hsts by default
- feat: 去掉 react render 的 log 日志
- perf: 优化 cacheView 中间件
- feat: 删除 location.key 以支持浏览器 304 检测
- feat: 支持传 express.staitc 的 options 参数
- fix: Input 组件 onFocus 事件不触发的 bug
- feat: 支持配置 webpack loaders
- feat: 支持 controller 实例的 restapi 属性覆盖全局 restapi 配置
- feat: 去掉自定义的简陋 logger,适配 redux dev tools
- feat: 只在生产环境开启 redux,避免 store 无限增长打来内存泄露问题
- feat: 支持手动调用 res.renderPage 渲染 imvc 页面
- fix: 处理自定义 router 拿不到完整的 client appSettings 的问题
- feat: 支持 controller.SSR 作为异步方法,动态判断是否需要服务端渲染
- fix: 解决 Link 组件 SSR 和 CSR 在有 basename 时不匹配的问题
- perf: optimize publicPath handler
- feat: remove wrapRender
- perf: optimize mock route
- perf: reset webpack compile assets position
- perf: 优化 Link 组件
- feat: 新增 NavLink 组件
- feat: 取消默认美化 html 输出
- perf: update babel cofnig
- fix: 解决重新无刷新加载当前 url 时,没有从头走一遍生命周期过程的问题,添加 reload 方法
- feat: 优化 connect 高阶组件,去掉 PureComponent 机制
- feat: 新增两个生命周期方法:getFinalActions && stateDidReuse
- feat: 允许关闭 logger
- feat: change action name of PAGE_DID_BACK
- perf: 优化 attachLogger 的时机
- perf: 优化 KeepAlive 的实现
- feat: 为组件空 div 添加 css class 名
- perf: 优化 Style 组件,避免重复渲染同一份样式
- feat: 优化 KeepAlive 的实现,支持恢复滚动条位置
- feat: only call getInitialState once
- feat: 支持自定义 gulp src 配置,优化生成静态入口的 log 输出
- fix: uglify options pass the wrong way
- feat: add controller.post method
- feat: set default config.routes = ''
- perf: remove error handler from resolve custome config
- feat: default clost staticEntry and server routes
- feat: remove log
- feat: remove BaseView Component
- feat: add PAGE_DID_BACK default action
- feat: add componentDidFirstMount
- feat: add restore