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/

相关文章
|
3月前
|
监控 JavaScript 算法
如何使用内存监控工具来定位和解决Node.js应用中的性能问题?
总之,利用内存监控工具结合代码分析和业务理解,能够逐步定位和解决 Node.js 应用中的性能问题,提高应用的运行效率和稳定性。需要耐心和细致地进行排查和优化,不断提升应用的性能表现。
224 77
|
30天前
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
56 11
|
1月前
|
敏捷开发 人工智能 JavaScript
Figma-Low-Code:快速将Figma设计转换为Vue.js应用,支持低代码渲染、数据绑定
Figma-Low-Code 是一个开源项目,能够直接将 Figma 设计转换为 Vue.js 应用程序,减少设计师与开发者之间的交接时间,支持低代码渲染和数据绑定。
107 3
Figma-Low-Code:快速将Figma设计转换为Vue.js应用,支持低代码渲染、数据绑定
|
1月前
|
JavaScript 前端开发
【Vue.js】监听器功能(EventListener)的实际应用【合集】
而此次问题的核心就在于,Vue实例化的时机过早,在其所依赖的DOM结构尚未完整构建完成时就已启动挂载流程,从而导致无法找到对应的DOM元素,最终致使计算器功能出现异常,输出框错误地显示“{{current}}”,并且按钮的交互功能也完全丧失响应。为了让代码结构更为清晰,便于后续的维护与管理工作,我打算把HTML文件中标签内的JavaScript代码迁移到外部的JS文件里,随后在HTML文件中对其进行引用。
52 8
|
28天前
|
监控 安全 中间件
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
这篇文章介绍了什么是Next.js中的中间件以及其应用场景。中间件可以用于处理每个传入请求,比如实现日志记录、身份验证、重定向、CORS配置等功能。文章还提供了一个身份验证中间件的示例代码,以及如何使用限流中间件来限制同一IP地址的请求次数。中间件相当于一个构建模块,能够简化HTTP请求的预处理和后处理,提高代码的可维护性,有助于创建快速、安全和用户友好的Web体验。
|
3月前
|
存储 缓存 监控
如何使用内存监控工具来优化 Node.js 应用的性能
需要注意的是,不同的内存监控工具可能具有不同的功能和特点,在使用时需要根据具体工具的要求和操作指南进行正确使用和分析。
91 31
|
3月前
|
JavaScript 前端开发 API
Vue.js 3:深入探索组合式API的实践与应用
Vue.js 3:深入探索组合式API的实践与应用
|
3月前
|
JavaScript 前端开发 API
深入理解Node.js事件循环及其在后端开发中的应用
本文旨在揭示Node.js的核心特性之一——事件循环,并探讨其对后端开发实践的深远影响。通过剖析事件循环的工作原理和关键组件,我们不仅能够更好地理解Node.js的非阻塞I/O模型,还能学会如何优化我们的后端应用以提高性能和响应能力。文章将结合实例分析事件循环在处理大量并发请求时的优势,以及如何避免常见的编程陷阱,从而为读者提供从理论到实践的全面指导。
|
3月前
|
JavaScript
如何使用内存快照分析工具来分析Node.js应用的内存问题?
需要注意的是,不同的内存快照分析工具可能具有不同的功能和操作方式,在使用时需要根据具体工具的说明和特点进行灵活运用。
76 3
|
3月前
|
前端开发 JavaScript 关系型数据库
基于 Vue2.0 + Nest.js 全栈开发的后台应用
Vue2 Admin 是一个基于 Vue2 和 Ant Design Pro 开发的前端项目,配合 Nest.js 构建的后端,提供了一个完整的全栈后台应用解决方案。该项目支持动态国际化、用户权限管理、操作日志记录等功能,适合全栈开发者学习参考。线上预览地址:https://vue2.baiwumm.com/,用户名:Admin,密码:abc123456。