当前栏目
JavaScript轻应用基础模块介绍
来源 | HaaS技术社区
1、前言
之前的文章中,已经介绍了轻应用的概念以及如何在硬件平台上运行轻应用。这里介绍的轻应用框架提供的基础模块。基础模块是与平台无关,在多种场景下都会使用到的通用能力,主要包括以下几种:系统信息、文件系统、键值存储。
关于轻应用的文档请参考:https://help.aliyun.com/document_detail/174810.html?userCode=wrvvs1rm
(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>)
2、系统信息
系统信息模块提供了一些查看系统版本、系统时间、系统内存使用的接口等。该接口是全局接口,无需require。
2.1、示例代码
-
console.log(‘system version is: ‘ + system.version());
-
console.log(‘module version is: ‘ + system.versions().module);
-
console.log(‘system platform is: ‘ + system.platform());
-
console.log(‘system uptime is: ‘ + system.uptime());
-
// get heap/memory information
-
console.log(‘system heapTotal is: ‘ + system.memory().heapTotal);
-
console.log(‘system heapUsed is: ‘ + system.memory().heapUsed);
为了对开发者更友好,system相关的接口也支持使用
process进行访问,比如
process.platform()、
process.uptime()。
2.2、方法
system.version()
获取轻应用版本号。
返回
- String类型。
system.versions()
获取更多版本号。
返回
- Object类型。其属性有:
属性 |
说明 |
module |
硬件模组版本号 |
system.platform()
获取当前硬件平台名称。
返回
- String类型。
system.uptime()
获取当前系统运行时间。单位为毫秒。
返回
- Number类型。
system.memory()
获取堆内存信息。
返回
- Object类型,其属性有:
属性 |
说明 |
heapTotal |
总共的堆内存大小 |
heapUsed |
已经使用的堆内存大小 |
system.gc()
主动进行系统内存回收。
返回
- Boolean类型,操作成功为True,操作失败为False。
3、文件系统
3.1、示例代码
-
var fs = require(‘fs’);
-
-
var path = ‘./test.data’;
-
var content = ‘this is amp fs test file’;
-
-
// write file
-
fs.writeSync(path, content);
-
-
// read file
-
var data = fs.readSync(path);
-
console.log(‘fs read: ‘ + data);
-
-
fs.unlinkSync(path);
3.2、方法
fs.writeSync(String path, String|ArrayBuffer data, Object options)
向文件系统中写入文件。
入参
属性 |
类型 |
必填 |
描述 |
path |
String |
是 |
写入文件的路径和名称 |
data |
String | ArrayBuffer |
是 |
要写入的文本或者二进制数据 |
options |
Object |
否 |
参考下面的options说明 |
options说明:
属性 |
类型 |
必填 |
描述 |
flag |
String |
否 |
flag,详细参见:文件系统flag说明,默认是’w’ |
fs.readSync(String path)
读取path路径下文件内容。
入参
属性 |
类型 |
必填 |
描述 |
path |
String |
是 |
文件路径 |
返回
- ArrayBuffer 类型,读取到的数据。
fs.unlinkSync(String path)
删除对应path的文件。
入参
属性 |
类型 |
必填 |
描述 |
path |
String |
是 |
文件路径 |
文件系统flag说明
当
选项采用字符串时,则以下标志均可用:
-
‘a’
: 打开文件用于追加。 如果文件不存在,则创建该文件。
-
‘a+’
: 打开文件用于读取和追加。 如果文件不存在,则创建该文件。
-
‘r’
: 打开文件用于读取。 如果文件不存在,则会发生异常。
-
‘r+’
: 打开文件用于读取和写入。 如果文件不存在,则会发生异常。
-
‘w’
: 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件。
-
‘w+’
: 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件。
4、键值存储
kv – 键值存储为持久化存储,设备掉电无影响。
4.1、示例代码
-
var kv = require(‘kv’);
-
-
var key = ‘key-test’;
-
var value = ‘this is amp kv test file’;
-
-
// kv set
-
kv.setStorageSync(key, value);
-
-
// kv get
-
var val = kv.getStorageSync(key);
-
console.log(‘kv read: ‘ + val);
-
-
// kv remove
-
kv.removeStorageSync(key);
4.2、方法
kv.setStorageSync(String key, String value)
新增/更新 key-value。
入参
属性 |
类型 |
必填 |
描述 |
key |
String |
是 |
需要新增的key。 |
value |
String |
是 |
需要新增的value。 |
返回值
- Number类型,0:成功,其他:失败。
kv.getStorageSync(String key)
读取KV中的值。
入参
属性 |
类型 |
必填 |
描述 |
key |
String |
是 |
需要读取的key。 |
返回值
- String类型,读取到的value值;如果读取失败则返回undefined。
kv.removeStorageSync(String key)
清除key-value值。
入参
属性 |
类型 |
必填 |
描述 |
key |
String |
是 |
需要清除的key。 |
5、开发者技术支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号
更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- C/C++ Qt 使用JSON解析库 [修改篇]
- C/C++ Qt 运用JSON解析库 [解析篇]
- JDK中内嵌JS引擎介绍及使用
- JavaScript入门学习
- JavaScript数组
- JavaScript变量 | 作用域
- JavaScript内置对象 | 数据类型
- JavaScript 行内 | 内嵌 | 外链
- JavaScript运算符操作
- JavaScript循环
- 分享一个Javascript通过正则表达式验证E-Mail地址有效性的函数
- 分享一个用jQuery实现自动检测并设置浏览器编码的实例
- Spring Boot中的Freemarker模版引擎引用css和js的正确姿势
- Node.js解压版的环境配置及相关常用命令
- JSP学习笔记(6)—— 自定义MVC框架
- JSP学习笔记(5)——Servlet、监听器、过滤器、MVC模式介绍
- Jsp学习笔记(4)——分页查询
- JSP学习笔记(3)——JSTL 标签库
- JSP学习笔记(1)——Jsp指令、动作元素和内置对象
- echarts map地图中绘制浙江省市区县乡镇多级联动边界下钻的最新geojson数据文件获取和更新