本期作者:狗蛋404实验室
伴随着我司快应用审核通过、上线,此处应该有一篇快应用开发经验分享。我司开发的快应用刚好涉及到音频、视频、Feed流业务,下面分享一下我在开发中遇到的问题。
项目搭建
hap init <project_name> // 生成一个快应用项目脚手架
cd project_name
npm install // 安装依赖
npm run build // 打包快应用,输出build和dist文件夹
npm run watch // 监测到变化后自动编译
npm run server // 在另起一个终端开启server
如果node版本用的是8以上的话,在运行完npm install后再运行npm run build时可能会报Cannot find module .../webpack.config.js异常,请重新执行一次hap update --force。
这是由于高版本的npm在npm install时,会校验并删除了node_modules下部分文件夹,导致报错。而hap update --force会重新复制hap-toolkit文件夹到node_modules。
项目发布
由于我们在开发环境下是用的debug签名,而正式发布到应用市场是需要正式签名。
创建私钥:
通过openssl命令等工具生成签名文件private.pem、certificate.pem,例如:
openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem
(关于密钥长度,1024觉得不够安全的话可以用2048,但是代价也相应增大)
Country Name (2 letter code) [XX]:CN #国家代码(中国)
State or Province Name (full name) []:BeiJing #省(北京)
Locality Name (eg, city) [Default City]:BeiJing #市(北京)
Organization Name (eg, company) [Default Company Ltd]:gdlb #公司名称
Organizational Unit Name (eg, section) []: #可不填
Common Name (eg, your name or your server's hostname) []: #可不填
Email Address []: #邮箱
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: #可不填
An optional company name []: #可不填
在工程的sign目录下创建release目录,将私钥文件