Releases: Tencent/QMUI_Web
Releases · Tencent/QMUI_Web
3.0.0
主要特性更新
- 基于已经正式发布的 Gulp 4 进行重构,依赖于 Gulp 4 全新的任务系统 bach,带来更稳定以及更高效的工作流。由于 Gulp 4 中使用了全新的文件监听模块,以及利用 Gulp 4 原生的任务并行/串行机制,以及增量任务的特性,代替了第三方插件,新版本工作流的稳定性得到了大幅度的提升。
- 集成了一套基于团队成员开发的 postcss-svg-sprite 完整 SVG Sprite 解决方案,可以方便地处理 SVG Sprite 的场景,详细介绍可以浏览内置工作流 - QMUI Web。
- 内置工作流支持自定义任务,开发者通过特定的格式建立任务文件,可以调用 QMUI Web 工作流中的公共配置和组件来编写基于自身项目场景的自定义任务。
其他优化
- 正式移除了 Sass 工具方法中的浏览器兼容方法,包括 flex 属性在内的可能有兼容性问题的 CSS 属性都完全由 Autoprefixer 自动处理。
- 基础组件不再保留在 QMUI 框架内,创建项目后完全归属于项目,使得基础组件更容易使用。
- 更规范的样式代码处理。
新旧版本兼容问题
由于 QMUI Web 3.0.0 中对内置工作流和 Sass 组件/工具方法都作出了大量的结构上的修改,因此与旧版本并不兼容。
需要特别注意在旧版中,6个基础组件的样式代码由 UI_dev/qmui_web/qmui/component
和 UI_dev/project/widget
目录共同组成,其中 qmui/component
为核心基础样式,为了方便跟随 QMUI Web 框架迭代而保留在 QMUI 目录中,通过变量配置样式。现在这部分基础组件基本不再变动,为了方便组件使用,直接与 project/widget
目录中的组件代码合并,因此开发者升级 3.0.0 版本之前需要先合并 UI_dev/qmui_web/qmui/component
的代码到 UI_dev/project/widget
中。
如何适配新版
-
升级 QMUI 源码(升级之前需要先把 UI_dev/qmui_web/qmui/component 的代码合并到 UI_dev/project/widget 中)。
-
全局卸载 gulp 并重新安装 gulp-cli 以适配本地的 Gulp 4:
# 首先全局卸载 gulp
npm uninstall gulp -g
# 全局安装 Gulp CLI
npm install gulpjs/gulp-cli -g
备注:新版 CLI 兼容基于 Gulp 3.X 的项目,因此不必担心其他基于 Gulp 3.X 的项目在更新 CLI 后无法运行。
-
把项目 UI_dev 下的 QMUI Web 配置文件 config.js 重命名为 qmui.config.js。
-
在项目 UI_dev/qmui_web 下执行一次
npm i
,更新依赖包。 -
_compatible.scss 中的 Sass 工具方法需要替换为原生 CSS 语法,内置工作流会自行处理兼容性问题。
-
如果有使用 QMUI Web Desktop,请升级至 2.0.0 或以上版本。
Bugfix
- 修正独立图片目录新建子目录时内置工作流会停止工作的问题。
2.4.0
2.3.2
2.3.1
2.3.0
2.2.1
2.2.0
2.1.0
2.0.0
本次更新
- 「重要」全新的 Sass 编译处理,经过较长时间的测试,我们采用了效率更高的 node-sass 作为 Sass 的编译内核,同时精简了样式监听的逻辑,使得样式编译提升了近2-4倍,并极大地降低了组件、全局变量这类样式更新的耗时。
- 「重要」全新的 CSS Sprite 处理机制,为了更方便更高效地在 QMUI 中使用 CSS Sprite,我们开发了一套基于 postCSS 的雪碧图方案,只需在样式中使用简单的一句代码即可实现 CSS Sprite,并且引入了全新雪碧图的更新策略,使得图片处理速度提升了2倍以上,具体请查看[雪碧图处理文档]。(http://qmuiteam.com/web/page/scaffold.html#qui_scaffoldSprite)
- 一系列三角函数、弧度计算相关的 Sass 方法。
- 1.x 系列用户升级至 2.0.0 版本请参考文档。
近期更新
- 同步图片目录时排除版本管理文件(.git / .svn 文件)。