JavaScript轻应用基础模块介绍

简介: 这里介绍的轻应用框架提供的基础模块。基础模块是与平台无关,在多种场景下都会使用到的通用能力,主要包括以下几种:系统信息、文件系统、键值存储。
来源 | HaaS技术社区

1、前言

之前的文章中,已经介绍了轻应用的概念以及如何在硬件平台上运行轻应用。这里介绍的轻应用框架提供的基础模块。基础模块是与平台无关,在多种场景下都会使用到的通用能力,主要包括以下几种:系统信息、文件系统、键值存储。

关于轻应用的文档请参考:https://help.aliyun.com/document_detail/174810.html

2、系统信息

系统信息模块提供了一些查看系统版本、系统时间、系统内存使用的接口等。该接口是全局接口,无需require。

2.1、示例代码

  1. console.log('system version is: ' + system.version());
  2. console.log('module version is: ' + system.versions().module);
  3. console.log('system platform is: ' + system.platform());
  4. console.log('system uptime is: ' + system.uptime());
  5. // get heap/memory information
  6. console.log('system heapTotal is: ' + system.memory().heapTotal);
  7. 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、示例代码

  1. var fs = require('fs');
  2. var path = './test.data';
  3. var content = 'this is amp fs test file';
  4. // write file
  5. fs.writeSync(path, content);
  6. // read file
  7. var data = fs.readSync(path);
  8. console.log('fs read: ' + data);
  9. 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说明

flag
选项采用字符串时,则以下标志均可用:
  • 'a'
    : 打开文件用于追加。 如果文件不存在,则创建该文件。
  • 'a+'
    : 打开文件用于读取和追加。 如果文件不存在,则创建该文件。
  • 'r'
    : 打开文件用于读取。 如果文件不存在,则会发生异常。
  • 'r+'
    : 打开文件用于读取和写入。 如果文件不存在,则会发生异常。
  • 'w'
    : 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件。
  • 'w+'
    : 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件。

4、键值存储

kv - 键值存储为持久化存储,设备掉电无影响。

4.1、示例代码

  1. var kv = require('kv');
  2. var key = 'key-test';
  3. var value = 'this is amp kv test file';
  4. // kv set
  5. kv.setStorageSync(key, value);
  6. // kv get
  7. var val = kv.getStorageSync(key);
  8. console.log('kv read: ' + val);
  9. // kv remove
  10. 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、开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

20210115164252868.png

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

相关文章
|
1月前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
322 2
|
5天前
|
存储 缓存 JavaScript
如何优化Node.js应用的内存使用以提高性能?
通过以上多种方法的综合运用,可以有效地优化 Node.js 应用的内存使用,提高性能,提升用户体验。同时,不断关注内存管理的最新技术和最佳实践,持续改进应用的性能表现。
|
24天前
|
数据可视化 JavaScript 前端开发
数据可视化进阶:D3.js在复杂数据可视化中的应用
【10月更文挑战第26天】数据可视化是将数据以图形、图表等形式呈现的过程,帮助我们理解数据和揭示趋势。D3.js(Data-Driven Documents)是一个基于JavaScript的库,使用HTML、SVG和CSS创建动态、交互式的数据可视化。它通过数据驱动文档的方式,将数据与DOM元素关联,提供高度的灵活性和定制性,适用于复杂数据的可视化任务。 示例代码展示了如何使用D3.js创建一个简单的柱状图,展示了其基本用法。D3.js的链式调用和回调函数机制使代码简洁易懂,支持复杂的布局和交互逻辑。
64 3
|
29天前
|
JavaScript 前端开发 开发者
探索JavaScript原型链:深入理解与实战应用
【10月更文挑战第21天】探索JavaScript原型链:深入理解与实战应用
31 1
|
1月前
|
JavaScript 前端开发 API
Vue.js:打造高效前端应用的最佳选择
【10月更文挑战第9天】Vue.js:打造高效前端应用的最佳选择
21 2
|
21天前
|
前端开发 JavaScript
JavaScript新纪元:ES6+特性深度解析与实战应用
【10月更文挑战第29天】本文深入解析ES6+的核心特性,包括箭头函数、模板字符串、解构赋值、Promise、模块化和类等,结合实战应用,展示如何利用这些新特性编写更加高效和优雅的代码。
40 0
|
1月前
|
自然语言处理 JavaScript 前端开发
深入理解JavaScript中的闭包:原理、应用与代码演示
【10月更文挑战第12天】深入理解JavaScript中的闭包:原理、应用与代码演示
|
1月前
|
监控 JavaScript 前端开发
深入了解Vue.js:构建现代前端应用的利器
【10月更文挑战第11天】深入了解Vue.js:构建现代前端应用的利器
16 0
|
1月前
|
前端开发 JavaScript 开发者
深入了解Webpack:现代JavaScript应用的打包利器
【10月更文挑战第11天】 深入了解Webpack:现代JavaScript应用的打包利器
|
1月前
|
自然语言处理 JavaScript 前端开发
深入理解JavaScript闭包:原理与应用
【10月更文挑战第11天】深入理解JavaScript闭包:原理与应用
20 0
下一篇
无影云桌面