vivo-hap-toolkit
v1.8.3
Published
A command line toolkit for developing Quick Apps.
Downloads
64
Readme
vivo-hap-toolkit (vivo 定制版)
快应用开发者工具
如何使用
全局安装 vivo-hap-toolkit
npm install -g vivo-hap-toolkit
新建示例工程,方便开发者快速上手
hap init `<project-name>`
安装 npm 依赖
cd `<project-name>` npm install
开始开发
npm run dev # 或 npm run server -- --watch
其他命令(请参考开发者文档)
Changelog
[1.8.3] - 2020-09-29
基于 hap-toolkit 1.8.1
更新
- 兼容
<style lang="scss">
情况 - 预览页面优化
- 移除模板中的 babel.config.js 文件,兼容自定义 babel.config.js 文件
新增
- 添加打包来源及其他数据埋点文件
- 动态导入 js,提示用户需增加打包参数
- 加入多平台适配文件的默认模板
修复
- 修复运行时报错 $app_define_wrap$不存在的问题
- 修复在分包时动态引入 js 的报错
- 修复了 1080 部分编译报错的提示
- 修复默认新建工程 menu:true,导致 menubar 面板无法显示
[0.7.8] - 2020-07-07
基于 hap-toolkit 0.7.5
更新
- 非文本组件包含文本给出 warning 提示
- 卡片去掉 system.hostconnection/system.cipher 的接口声明检查
- 卡片增加 slider/list/list-item 支持
- 升级 devtool,支持修改 appData
新增
- toolkit 改造适配多终端。hap init 命令加入 -d --device [device-type-list]选项,指定项目运行的设备类型,device-type-list 为字符串,以逗号连接,如 "tv,phone,car"
- 增加编译动态引入 js 文件的能力,即开发者可以使用 import().then()的方式引入 js 文件
- 支持编译全局公共组件,将 app.ux 引入的公共组件单独抽离到 app-chunks.json 中,不影响 app.js 体积
- 编译错误显示于预览界面
- 新增 drawer 组件
- 添加 sitemap 校验
修复
- 优化部分报错信息
[0.7.6] - 2020-06-17
基于 hap-toolkit 0.7.3
更新
- 使用内置 debug 证书,release 证书移至 sign 下,同时做兼容处理
- 不再提示相同选择器的合并
- 优化预览报错与 404 页面
- 媒体查询编译不对长度单位进行操作
- 去掉 system.configuration 的接口声明检查
- 重构优化部分代码
新增
- 增加 dp 单位
- 加入 onKey 事件,加入通用属性 focusable 与 div 的 enablevideofullscreencontainer 属性
- 新增 scroll view 组件
- 适配多终端
- 支持全局公共组件
修复
- 修复删除编译模式错误
- 媒体查询 bugfix,只写@media screen 无法匹配
- 引入 npm-run-all,修复 win 下并行执行脚本只执行第 1 个的问题
- 修复模拟器无法正确链接 adb 问题
[0.7.4] - 2020-06-05
基于 hap-toolkit 0.7.2
修复
- 修复修改卡片内容,预览报错
[0.7.2] - 2020-04-14
基于 hap-toolkit 0.7.2
更新
- 升级 devtool 以适配高版本 chrome
- 去掉 vivo-hap sign distFile signFile 命令
新增
- 增加编译模式
- 增加命令 --split-chunks-mode=smart 抽离公共 js 资源
- 增加 vivo-hap resign 对未签名文件进行签名
- 增加 selected 伪类选择器校验
- 增加其他组件属性事件等
修复
- 修复 background 渐变样式格式化无法正确展示
[0.6.9] - 2019-11-18
基于 hap-toolkit 0.6.8
更新
新增
- 增加打包参数 --not-sign,打出待签名包
- 增加配置项目下 quickapp.config.js 里 signOnLine 字段,将待签名包发送至该字段地址进行签名打包(线上签名)
- 增加打包参数 --disable-sign-online,关闭线上签名
- 增加签名命令 hap sign distFile signFile,用指定签名文件对指定待签名包进行签名打包
修复
- 修复快应用工程打包没加 --app 参数报错问题
[0.6.8] - 2019-11-07
基于 hap-toolkit 0.6.8
更新
- 更新对 animation 样式校验
- 兼容 android 10 以上版本的 USB 调试功能
- toolkit 支持字体颜色 auto|transparent|currentColor 的编译
- 对 theme 开头的样式值放开不校验
新增
- 增加 ux 项目提取公共 css 样式的能力
- 增加快应用项目的 e2e 测试能力
- 增加测试 ux 项目的代码覆盖率的能力
- 增加非独立包非 base 包不打入 i18n 文件的能力
- 增加分包可以配置独立的 icon 的能力
- 增加支持 component 节点的编译能力
- 增加说明:针对 sourcemap 定位不准确的问题,请在命令行中添加
--match-sourcemap
选项
修复
- 修复 0.6.4 预览页面问题
- 修复了 1060 部分编译报错的提示
- 修复获取不到设备信息时的 localWsPort 报错问题
[0.6.4] - 2019-09-17
基于 hap-toolkit 0.6.3
更新
- 允许打包本地资源,去掉 -l --local-image 指令
- 更新预览的 web.js 文件
新增
- 添加新的主题属性:theme.activeColor,theme.borderTopRadius,theme.borderBottomRadius
- 增加了对多语言包打包的能力
- 支持地图组件展示自定义 View 的能力
修复
- 补充了 1050 部分功能校验: 1.通用 resize 事件 2.slider 的 block-color 样式 3.map 的 polygons 属性和 poitap 事件 4.system 的 resident 接口和 service 的 ad、health、exchange 接口
[0.6.2] - 2019-07-31
基于 hap-toolkit 0.6.1
更新
- 改为默认打包卡片,去掉 --vivo 参数,增加 --app 改为打包块引用
- 默认允许打包本地资源,暂时保留 -l --local-image 指令,功能改为不允许
- 修改 build 模式默认 sourcemap 选项 devtool 为 cheap-module-eval-source-map,如果开发者想还原默认的 sourcemap 行为,可以通过
-- --devtool source-map
设置 - 调试器 支持
chrome[google-chrome]
浏览器和chromium[chromium-browser]
浏览器
新增
修复
- 修复
{{}}
内文本带有/img/修饰符的正则表达式不生效的问题 - 修复 vue-dsl 使用 less 语法 validate 校验错误的问题
- 修复预览命令时报的路径错误
- 修复 macos 特定版本启动问题
- 修复 font-family 样式字符串带引号的问题
[0.5.4] - 2019-06-05
基于 hap-toolkit 0.5.4
更新
- 证书私钥缺失时候,错误输出到 webpack)
新增
- 支持 app 全局样式的编译
- 支持 span 嵌套 span 标签
修复
- 修复 vue-dsl release 问题
- 修复 IDE 拷贝图片失败问题
- 修复 vue-dsl css2json 插件缓存问题
[0.4.6] - 2019-05-06
基于 hap-toolkit 0.4.6
更新
- 更新新建卡片工程模板
- 添加
--local-image
参数用于卡片使用本地图片(build
,release
,watch
命令有效)
新增
- 添加
--disable-stream-pack
参数用于禁用流式包(build
,release
,watch
命令有效) - 支持自定义配置
- 支持
font-weight
修复
- 修复了 manifest 中 minPlatformVersion 为 1040 时 不会转换 ES6 为 ES5 的编译时 JS 报错
- 修复了 hap update --force 时 JS 报错的问题
[0.3.2] - 2019-03-05
基于 hap-toolkit 0.3.1
更新
- 1040 平台支持
- 不再支持
node 6
,要求node 8
以上版本 - 不再创建备份文件
新增
- 新增
web
预览功能,打开服务/preview
页面可使用浏览器预览快应用 - 新增
hap preview
子命令,可直接预览rpk
文件或解压的rpk
文件目录(包括build
目录) - 新增
hap view
子命令,可用于直接查看rpk
文件。详情可执行hap view --help
查看 - 监听模式现在会监听
manifest.json
文件
修复
- 修复了
hap-toolkit
导致系统adb
不可使用的问题 - 修复其他若干缺陷
优化
- 优化了
hap init
子命令,当文件夹存在时会询问输入新的应用名 - 优化了错误/警告信息提示
[0.2.8] - 2019-2-22
修复
- 修复卡片打包无输出的问题
[0.2.6] - 2019-1-29
基于 hap-toolkit 0.2.1
更新
- 支持分包
chrome devtools
升级到 66- 移除的
mix
命令(hap
和mix
完全一致) - 为避免跟hap-toolkit冲突,添加了
vivo-hap
命令(同hap
) - 优化错误栈信息
- 稳定性优化
修复
- 修复初始化模块的 elisnt 配置无效的问题
- 修复若干 bug
- 修复
toolkit
误报使用node
原生模块问题
[0.2.5] - 2019-1-5
基于 hap-toolkit 0.1.1
更新
- 卡片支持使用
block
组件 - 打包卡片时不再检查
router.entry
字段
[0.2.4] - 2018-12-18
基于 hap-toolkit 0.1.0
更新
- 项目 package.json 的依赖只有 hap-toolkit,移除了其他依赖
- 支持可以自定义属性 data-xxx
- slot 可以作为 text 的子组件
- 支持 postcss 解析 css
- 不再检查 icon
修复
- 修复了图片资源检查的 bug
新增
- 支持 touchstart,touchmove,touchcancel,touchend 事件
- 支持 font-family 样式
- image 组件增加 complete、error 事件
- video 组件支持 muted 属性
- audio 组件支持 stop 方法
- 支持 CSS @font-face
- justify-content 支持 space-around
- background-image 支持网络图片地址
- input/textarea 组件增加 selectionchange 事件
- tab-content 组件增加 scrollable 属性
- input 组件支持动态切换 type 类型
- WebSocket 支持 ArrayBuffer
[0.1.6] 2018-10-27
- 卡片允许使用
service.stats
- 增加系统颜色变量
- theme.activeColor 点击按压颜色
- theme.miniHeight 卡片最小高度(小卡片)
- theme.middleHeight 卡片最小高度(中卡片)
- theme.largeHeight 卡片最小高度(大卡片)
[0.1.2] - 2018-10-10
- 修复路由设置 path 和路由名称不一致时使用了错误的路径的问题
- 提供 css 系统颜色变量
- theme.borderRadius
[0.1.0] - 2018-09-30
提供 css 系统颜色变量
- theme.titleTextColor
- theme.textColor
- theme.buttonTextColor
- theme.buttonClickTextColor
- theme.backgroundColor
传入
--vivo
参数时,vivo-hap-toolkit
会将只打包卡片;同时脱掉manifest.json
中卡片不需要的数据,减少文件体积
[0.0.42] - 2018-09-12
- 不再检查卡片缩略图
常见问题
一、从小于 0.0.38 版本升级
若 hap-toolkit 从 0.0.37 升级上来,有比较大的改动,其中需要注意的是:
- 项目下面的 .babelrc 文件变更为 babel.config.js 文件。babel.config.js 内容如:
module.exports = function(api) {
api.cache(true)
return {
presets: ['@babel/preset-env'],
plugins: ['@babel/plugin-transform-modules-commonjs'],
babelrcRoots: ['.', 'node_modules']
}
}
.babelrc 文件需要删除。
- 项目的基础依赖只需要以下模块,package.json 里的 devDependencies 字段如:
{
"devDependencies": {
"babel-eslint": "^10.0.1",
"eslint": "^5.12.1",
"eslint-plugin-hybrid": "0.0.5",
"hap-toolkit": "^0.4.3"
}
}
修改后请将 node_modules 和 package-lock.json 删除,再重新安装依赖。