@arcships/rutis-bun (英语)
Bun 运行时间 卢比: 运行 JavaScript 和 TypeScript 插件 阿宝 对于一个rutis宿主.
主机以一个进程开始,并以所命名的行运行插件 bun:<module>数字 :
{
"runtimes": { "bun": { "project": "." } },
"rows": [
{ "id": "weather", "name": "bun:@acme/weather" },
{ "id": "report", "name": "bun:./report.ts", "inject": ["weather"] }
]
}
- 插件 以
@arcships/rutis(单位:千美元)definePlugin),或作为导出模块apply(ctx, config)与inject, (中文(简体) ),optional(服务使用时,读取ctx.get; rutis-host 0.20 或后来),config而且,作为选择,provides(怎样)ctx.provide提供未达到rutis. - 活动 每个插件、运行时间和链接的节点(rutis 0. 13)之间有一条总线:
ctx.on(name, listener)由东道方自行登记并返回处置者;ctx.emit编号 :parallel编号 :serial编号 :waterfall编号 :bail与任何语言的听众取得相同的结果;ctx.filter选择听众。 在卸行时ctx.signal已中止,正在运行的听众正在等待。 见 事件。 。 。 . - 模块 从工程中解析出 npm 名称和子路径
node_modules, (中文(简体) ),./paths相对它。 安装插件bun add。 。 。 . - 没有在主机后面安装或读取: 运行时间总是与
--no-install(缺失的软件包失败,永远不会下载)和--no-env-file(环境是主机给予的). 这个项目的bunfig.toml应用,作为项目自己的配置. - 同步呼叫已重播:当一个插件的同步调用到rutis等待时,调用到这个运行时间仍然运行,所以调用到彼此的运行时间永远不会等待. 因此,当插件在同步调用中时,可以调用插件的服务: 不要在调用到rutis时对接一个锁.
- 未发现错误结束进程和它的所有服务 运行时间.
- 正在重新装入 a 行在文件更改时再次导入其模块;它所导入的模块保持加载状态(重新开始运行时间以替换这些模块).
- 运行时安装软件包 是在运行时间重新启动后找到的 : Bun 进程记得缺少一个软件包.
1.4号或以后 除了在主机上运行(本地频道),它作为远程运行时间运行:收听(listen:ws://…, (中文(简体) ), listen:wss://…)或拨打rutis的出入口(dial:ws://…, (中文(简体) ), dial:wss://…; 见 Bun 插件指南.
嵌入主机开始于 rutis_host::connect::SpawnPlugin::new("bun", rutis_host::languages::bun::launcher(…), project) (鲁斯特).