caraml
caraml是一种用于在Android和iOS上从node.js实例运行原生微应用的本地移动UI标记语言。它基于LiquidCore库,该库为移动设备提供了基于node的虚拟机。
caraml仍在开发中。
caraml-console
caraml-console是与caraml一起使用的UI界面。它提供了一个与LiquidCore微服务交互的ANSI兼容的Node.js控制台。这个界面主要用于调试。
为了集成,客户端必须如caraml-core
项目中所述,实例化一个CaramlView
。
步骤1:安装LiquidCore
按照从npm
安装LiquidCore的说明进行操作。
步骤2:安装caraml-console
$ npm install @liquidcore/caraml-console
$ npm install
第二次运行npm install
会在您的项目中触发一个post-install脚本,该脚本会自动将caraml-console
集成到构建中。
JavaScript API
caraml Console
caraml-console
模块提供了一个兼容ANSI的控制台界面,用于与LiquidCore和caraml一起使用。它可以通过以下方式访问
const Console = require('@liquidcore/caraml-console')
示例用法
const core = require('@liquidcore/caraml-core')
const Console = require('@liquidcore/caraml-console')
// Stop process from exiting
setInterval(()=>{},1000)
let cons = new Console({
fontSize : 11,
backgroundColor: 'black',
textColor: '#32cd32'
})
cons.display(core)
.then(()=>{
console.error('Welcome to caraml-console')
console.log('Enter javascript commands and play around.')
console.log()
})
.catch(e => {
console.error(e)
})
控制台
控制台类实例表示一个可以附加和分离到caraml-core视图的控制台视图。
类型: 全局类
- 控制台
- new Console([opts])
- .display([caramlview]) ⇒
Promise
- .hide() ⇒
Promise
- .getParent() ⇒
Object
- .getState() ⇒
string
- "ready"
- "attached"
- "detached"
- "error"
- .Transform ⇒
String
new Console([opts])
创建一个新的控制台,将stderr和stdout通过它重定向。多个控制台将链式连接,即输出流将通过所有控制台实例。
参数 | 类型 | 描述 |
---|---|---|
[opts] | 对象 |
|
[opts.textColor] | 字符串 |
类似于html的文本颜色描述,例如'black'或'#ed5616' |
[opts.backgroundColor] | 字符串 |
类似于html的背景颜色描述 |
[opts.fontSize] | 数字 |
浮点字点大小 |
[opts.transformStdout] | 转换 |
一个函数,用于转换发送到stdout的输出字符串 |
[opts.transformStderr] | 转换 |
一个函数,用于转换发送到stderr的输出字符串 |
Promise
console.display([caramlview]) ⇒ 请求在 caraml-core 视图中显示(附加)控制台。如果没有提供 caramlview,则将使用默认核心视图。
类型:Console
的实例方法
返回值:Promise
- 当视图被附加时解析,或者以错误字符串拒绝
参数 | 类型 | 描述 |
---|---|---|
[caramlview] | 对象 |
通过 var core = require('@liquidcore/caraml-core') 获取的 caraml-core 视图对象 |
Promise
console.hide() ⇒ 断开已显示的控制台。
类型:Console
的实例方法
返回值:Promise
- 当视图被附加时解析,或者以错误字符串拒绝
Object
console.getParent() ⇒ 返回父 caraml-core 视图
类型:Console
的实例方法
返回值:Object
- 控制台所附加的 caraml-core 视图或未附加时为 undefined
string
console.getState() ⇒ 返回 'init'、'detached'、'attaching'、'attached'、'detaching' 之一
类型:Console
的实例方法
返回值:string
- 控制台的当前状态
"ready"
当控制台视图已创建并准备好附加到 caraml-core 视图时发出。
类型:Console
发出的事件
"附件"
当控制台视图被附加到caraml-core视图时触发。
类型:Console
发出的事件
"拆分"
当控制台视图从caraml-core视图中分离时触发。
类型:Console
发出的事件
"错误"
错误发生时触发
类型:Console
发出的事件
类型 | 描述 |
---|---|
字符串 |
一个可供人类阅读的错误字符串 |
字符串
console.Transform ⇒ 一个用于转换输出字符串的函数,例如使用ANSI标签添加着色。
类型:Console实例类型定义
返回值:字符串
- 转换后的字符串
参数 | 类型 | 描述 |
---|---|---|
输入 | 字符串 |
输入字符串 |