快应用(2.创建一个新的项目)
1.创建一个QuickApp的文件夹。
在D盘根目录下创建一个QuickApp的文件夹,在cmd界面下输入C:\Users\Rcvisual>d:,进入D盘后输入D:\>dir,然后输入D:\>cd QuickAPP,最后输入D:\QuickAPP> hap init helloworld,其中其中<ProjectName>
为自定义的项目名称。
命令执行后,会在当前目录下创建<ProjectName>
文件夹,并作为项目根目录
这个项目已经包含了项目配置与简单页面的初始代码,项目根目录结构如下:
├── node_modules
├── sign rpk包签名模块
│ └── debug 调试环境
│ ├── certificate.pem 证书文件
│ └── private.pem 私钥文件
├── src
│ ├── Common 公用的资源文件和组件文件
│ │ └── logo.png manifest.json中配置的icon
│ ├── Demo 页面目录
│ | └── index.ux 页面文件,文件名不必与父文件夹相同
│ ├── app.ux APP文件(用于包括公用资源)
│ └── manifest.json 项目配置文件(如:应用描述、接口申明、页面路由等)
└── package.json 定义项目需要的各种模块及配置信息,npm install根据这个配置文件,自动下载所需的运行和开发环境
目录的简要说明如下:
- src:项目源文件夹
- node_modules:项目的依赖类库
-
sign:签名模块,当前仅有
debug
签名,如果内测上线,请添加release
文件夹,增加线上签名;签名生成方法请参考文档:编译工具
的openssl
2.编译项目
2.1安装npm依赖:在项目根目录下,运行如下命令安装依赖包(webpack,babel等)
npm install
注意:如果安装比较卡,则只需要使用–registry参数指定镜像服务器地址,为了避免每次安装都需要--registry
参数,可以使用如下命令进行永久设置:npm config set registry http://registry.npm.taobao.org
2.2编译项目:在项目的根目录下,运行如下命令进行编译打包,生成rpk包
npm run build
编译打包成功后,项目根目录下会生成文件夹:build、dist
- build:临时产出,包含编译后的页面js,图片等
-
dist:最终产出,包含rpk文件。其实是将build目录下的资源打包压缩为一个文件,后缀名为
rpk
,这个rpk
文件就是项目编译后的最终产出
注意:如果报错遇到Cannot find module '.../webpack.config.js'
,请重新执行一次hap update --force
。这是由于高版本的npm在npm install
时,会校验并删除了node_modules
下部分文件夹,导致报错。而hap update --force
会重新复制hap-tools
文件夹到node_modules
中。
同时进行下一步npm run build。
2.3自动重新编译:如果希望每次修改源代码文件后,都自动重新编译项目,请使用如下命令:
npm run watch
3.手机安装调试器
调试器APK是一个Android应用程序,请从站点地址下载
在手机上安装并打开调试器APK,安装成功后如下图所示:
说明如下:
- 扫码安装:配置HTTP服务器地址,下载rpk包,并唤起平台运行rpk包
- 本地安装:选择手机文件系统中的rpk包,并唤起平台运行rpk包
- 在线更新:重新发送HTTP请求,更新rpk包,并唤起平台运行rpk包
- 开始调试:唤起平台运行rpk包,并启动远程调试工具
注意:若无法正常使用调试器,请升级手机系统到最新版本或安装平台预览版
4.手机安装平台预览版
较新的系统版本中内置平台正式版,即真实的运行环境。然而,更新平台正式版的时间周期较长,开发调试平台新功能可使用平台预览版
平台预览版存在以下优缺点:
- 优点:迭代速度快,可立即体验平台新功能
- 缺点:实现与真实的运行环境存在差异,对厂商服务和第三方服务的支持存在缺陷
平台预览版APK是一个Android应用程序,请从站点地址下载
下载安装成功后,在调试器中点击切换运行平台至...mockup
即可在平台预览版上运行rpk包
5.在平台上运行rpk包
在调试器中唤起平台打开rpk包有多种途径,以下两者选其一即可,推荐第一种途径:(注意:需在同一网段下,即在同一局域网下)
-
HTTP请求:开发者启动HTTP服务器,打开调试器,点击
扫码安装
配置HTTP服务器地址,下载rpk包,并唤起平台运行rpk包 -
本地安装:开发者将rpk包拷贝到手机文件系统,打开调试器,点击
本地安装
选择rpk包,并唤起平台运行rpk包
5.1. HTTP请求:启动HTTP服务器
在终端中新建一个窗口,进入项目的根目录运行如下命令,启动本地服务器(默认端口为12306)
npm run server
自定义端口(如:8080)
npm run server -- --port 8080
在手机上预览运行效果
配置HTTP服务器地址有两种方式,以下两者选其一即可:
-
打开调试器 --> 点击"扫码安装"
,扫描终端窗口中的二维码即可完成配置(若扫描不成功,可在浏览器中打开页面:http://localhost:<your port>
,扫描页面中的二维码) -
打开调试器 --> 点击右上角menu --> 设置
,输入终端窗口中提示的HTTP服务器地址
配置完成后,若没有自动唤起平台运行rpk包,点击在线更新
唤起平台运行rpk包
若提示安装失败
,请检查执行npm run server的终端窗口是否正常运行
运行效果如下图:
5.2. 本地安装:复制rpk包到手机中
将<ProjectName>/dist
目录下编译产出的rpk
包通过USB数据线或其他方式,复制到手机文件系统中
本地安装rpk包
打开调试器 --> 点击"本地安装"
,选择手机文件系统中的rpk包,并自动唤起平台运行rpk包,查看效果
6.总结:
了解项目的目录结构,编译时hap-toolkit
会将源文件打包为rpk文件
,运行时通过调试器唤起平台运行rpk包;打通整个流程后,开发者就可以边开发边预览效果了