mpx

Mpx,一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架

APACHE-2.0 License

Downloads
5K
Stars
3.6K
Committers
89

Bot releases are hidden (Show)

mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复原生组件setData在某些case下失效的问题
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复i18n中使用数组索引存在的bug
  • 修复mergeOptions中存在的bug,修复mpx.mixin在swan环境下不生效的问题

Features

  • 新增支持mpx.config.ignoreConflictWhiteList配置忽略属性代理到this时冲突的忽略白名单,默认值为['id']
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复mpx.watch未返回unwatch的bug,感谢@zqjimlove的pr
  • 修复methods中定义页面钩子在支付宝中的bug

Features

  • watcher出现死循环更新时报错打断
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复ali环境下props数据透传造成的子组件直接修改props时产生异常的问题
  • 修复resolve plugin存在的问题
  • 由于wx中按照数据路径setData在一些场景下存在bug,useStrictDiff默认值调整为false
  • 新增数据对象中存在与组件/页面冲突的属性名时代理失败的错误提示
  • 修复api-proxy中输出web时navigateTo/replaceTo回调代理错误的问题
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复使用ts时输出web出现的不可用问题
  • 修复转换ali时对于props的处理问题
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复mpx中使用多个style标签时,使用src引入的样式在watch后续构建时不被引入的问题

Features

  • 支持在postcss配置函数中通过ctx.__mpx_mode__获取当前的构建mode以区分加载postcss配置
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复输出H5时app/page/component中逻辑执行顺序与小程序不一致的问题

Features

  • 输出H5时支持getApp()
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复api-proxy promisify
mpx -

Published by hiyuki over 4 years ago

New features

  • Mixin中的data merge由深度merge改为浅层merge,支持使用freeze/seal等api避免部分数据被响应化和修改

Bugfix

  • 修复百度环境中app.css定义样式无法对页面生效的问题
mpx -

Published by hiyuki over 4 years ago

New features

  • Api-proxy新增blackList参数指定某些api不被promisify,感谢@zqjimlove的pr

Bugfix

  • 微调运行时转换支付宝时对于props的处理逻辑
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复内置sass-loader配置
  • 对babel-runtime部分polyfill方法在支付宝环境下挂掉的问题在框架层面进行fix
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 增强对wxs的编译支持
  • ts定义文件更新
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复wxs预处理逻辑对于间接引用的wxs不生效的问题
  • 修复部分转换ali和swan时的问题
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复forceUsePageCtor选项在原生页面中未生效的问题
  • 修复支付宝小程序环境下Object.prototype.toString无法准确判断数据类型带来的问题
mpx -

Published by hiyuki over 4 years ago

New Features

  • 新增webpack-plugin配置项forceUsePageCtor,设置为true时会在所有小程序平台中使用Page作为构造器创建页面,一般情况下不建议开启
mpx -

Published by hiyuki over 4 years ago

New Features

  • webpack-plugin新增配置attributes,用于自定义模板解析时识别特殊的静态资源位置,配置格式为Array<"tagName:attrName">,例如["van-image:src"];
  • webpack-plugin新增配置externals,类似webpack中的externals配置,用以支持微信小程序中的useExtendedLib功能,配置格式为Array<String|RegExp>,支持简单传入['weui']配合useExtendedLib设置{weui:true}时使用内建的weui组件库;
  • 内置的url-loader支持publicPath配置,只有传入publicPath时limit配置和?fallback才能在css中生效,将图像路径拼接为cdn地址,dist中输出的img文件需要开发者自行清除并上传到cdn中

Bugfix

  • 修复merge dataFn时可能出现的数据对象重用的问题
mpx -

Published by hiyuki over 4 years ago

New Features

  • 支持在mpx.i18n中调用翻译方法
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 修复替换响应式系统后computed setter出现的问题
  • 修复for循环下的wx:model不生效的问题
  • 由于框架本身强依赖,编译时强制开启node.global,避免用户自定义配置时误将此项设为false而导致框架无法正常工作
mpx -

Published by hiyuki over 4 years ago

Bugfix

  • 为了兼容之前pageShow/pageHide的执行时机暂时改回之前的逻辑,出于性能考虑该增强钩子将在下个minor版本中移除支持,请使用pageLifetimes进行替代
mpx -

Published by hiyuki over 4 years ago

New Features

  • 完全移除mobx依赖,参考vue2的核心响应系统在@mpxjs/core中维护了一份精简高效的数据响应实现,使用限制等同于vue2;
  • 受益于数据响应系统的精简替换,运行时体积占用由110kb降低至40kb,列表场景下的数据响应性能提升33%;
  • 优化精简渲染函数,进一步降低dist包体积,@mpxjs/core及@mpxjs/webpack-plugin不再兼容彼此的更低版本,需同步升级至2.5.x版本;
  • 在支持pageLifetimes的平台抛弃逐层传递props实现pageShow/pageHide增强钩子的方式;
  • 运行时细节优化;
  • Ts类型定义更新。

Breaking changes

  • 将无法使用数组索引赋值的方式(arr[index]=xxx)触发数据响应,请使用$set替代;
  • mpx.watch移除第一个参数context,参数格式与组件内的this.$watch完全对齐;
  • mpx.watch/this.$watch的返回值由一个watcher对象替换为unwatch函数;
  • pageShow/pageHide即将移除支持,请使用pageLifetimes.show/hide替代,pageLifetimes.show的触发时机与原本的pageShow存在差别,不保证初始化一定触发,不要在其中进行初始化操作;
  • 移除除了set/remove之外的所有object api(get/has/keys/values/entries)。