vivo-hap-toolkit
Version:
A command line toolkit for developing Quick Apps.
266 lines (177 loc) • 6.67 kB
Markdown
# vivo-hap-toolkit (vivo 定制版)
快应用开发者工具
## 如何使用
1. 全局安装 vivo-hap-toolkit
```shell
npm install -g vivo-hap-toolkit
```
2. 新建示例工程,方便开发者快速上手
```shell
hap init `<project-name>`
```
3. 安装 npm 依赖
```shell
cd `<project-name>`
npm install
```
4. 开始开发
```shell
npm run dev
# 或
npm run server -- --watch
```
5. 其他命令([请参考开发者文档][docs])
- [反馈问题](https://github.com/quickappcn/issues/issues/new/choose)
- [查看版本更新历史](https://bbs.quickapp.cn/forum.php?mod=viewthread&tid=935)
## Changelog
## [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`][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
- 不再检查卡片缩略图
[docs]: https://doc.quickapp.cn/
[hap-toolkit]: https://www.npmjs.com/package/hap-toolkit
[block]: https://doc.quickapp.cn/tutorial/framework/framework-instructions.html#%E7%BB%84%E4%BB%B6-block
### 常见问题
#### 一、从小于 0.0.38 版本升级
若 hap-toolkit 从 0.0.37 升级上来,有比较大的改动,其中需要注意的是:
1. 项目下面的 .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 文件需要删除。**
2. 项目的基础依赖只需要以下模块,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 删除,再重新安装依赖。**
[反馈问题](https://github.com/quickappcn/issues/issues/new/choose)
[查看版本更新历史](https://bbs.quickapp.cn/forum.php?mod=viewthread&tid=935)