@aglyn/aglyn (英语)
Aglyn的核心:平台的数据模型(主机,屏幕,布局,节点)
树、 持有组件、 插件和画布的运行时间管理器,以及
框架独立的公用事业 @aglyn 软件包已构建
继续 使用Aglyn的模型安装它:一个渲染器,一个编辑器,一个
插件,或读取并写入 Aglyn 文档的工具 .
从Aglyn monorepo出版到npm. 随后的版本 语义版本。 。 。 .
安装
npm install @aglyn/aglyn
同伴依赖性 :
react需要时间.next, (中文(简体) ),firebase, (中文(简体) ),@mui/material财务报告和审定财务报表@mui/system被宣布为可选 (单位:千美元)peerDependenciesMeta) (中文(简体) ). 包只安装和捆绑react。 。 。 . 只为使用它们的模块带来可选的:@mui/material用户界面模块 (单位:千美元)@aglyn/aglyn/app-utils/consent-banner-ui, (中文(简体) ),@aglyn/aglyn/app-utils/consent-preferences-dialog(三);@mui/material财务报告和审定财务报表@mui/system也提供某些节点和组件类型 定义.next页:1@aglyn/aglyn/app-utils/advertising-tag-mounts,用于next/script。 。 。 .firebase被宣布为将模型与Firebase配对的应用程序,作为 Aglyn的应用软件是 此包中没有模块需要它来加载.
这是"只有逻辑"的消费者故事: @aglyn/aglyn 合并
@aglyn/besigner 安装为 react 作为唯一的对等者,不需要UI
图书馆,没有 next也没有火地SDK.
里面有什么东西
入口点 :
@aglyn/aglyn整个桶,用于客户端代码.@aglyn/aglyn/server是服务器安全桶。 同样的再出口 模型,管理者和纯公用设施,没有客户的反应背景,所以 可以从 React 服务器组件导入. 还搭载单元 使用节点内置或 JavaScript 解析器,因此不使用 客户端桶: 网络对-(req, res)API适配器 API 单能, 个人密钥、插件捆绑检查和域的服务器侧 插件 .@aglyn/aglyn/*映射到下面的文件src/lib,例如@aglyn/aglyn/aglyn或者说@aglyn/aglyn/app-utils/markdown-lite子路径 名称为文件,而不是文件夹。 通过子路径导入可以保持捆绑 用户.
主要领域 src/lib数字 :
aglyn是运行时间单子。 出口aglyn及其零部件:emitter, (中文(简体) ),plugins, (中文(简体) ),components, (中文(简体) ),canvas财务报告和审定财务报表logger实例是 已键入globalThis,因此在一个 JavaScript 域复制模块副本 共享一次运行.types持有节点和屏幕模型 :NodeSchema, (中文(简体) ),NodesMap, (中文(简体) ),ComponentSchema, (中文(简体) ),PresetSchema, (中文(简体) ),ScreenSchema、路由和AST类型.foundation持有平台文档类型(AglynHost, (中文(简体) ),AglynScreen, (中文(简体) ),AglynLayout, (中文(简体) ),AglynHostTheme、组织和收费形状及其 id类型)和共享常数.emit-manager实值EmitManager(单位:千美元)eventemitter2发射装置)AglynEvent生命周期和动作事件.components-manager实值ComponentManager,组成部分登记册 工厂,他们的计划,和预设.plugin-manager实值PluginManager(插件登记和依赖性) 状态)加插件接合:插件加载器(createPluginLoader, (中文(简体) ), 贡献、配置、权限、应享权利、活动、服务 还有工作 Aglyn的特性插件通过这些连接到平台上.canvas-manager实值CanvasManager、可观察的节点树:设置、创造、、, 删除、复制、重现和重排序节点,并带有撤销和重做历史.app-utils是一个庞大的纯辅助器, 覆盖模型: 节点组成 以及消毒、装订符号和变量、数据集和收集、标准环境组织 和站点地图帮助者, 标记下-升方言, 权限和角色, 同意 分析键 媒体参考等等 它的反应背景 (站点上下文、媒体取取器、启用插件等)从 只有客户桶.utils具有地标上游,例如:isFeatureEnabled。 。 。 .
使用量
import { AglynEvent, canvas, components, emitter } from '@aglyn/aglyn'
emitter.on(AglynEvent.COMPONENT_REGISTERED, ({ $id }) => {
console.log('registered', $id)
})
components.registerComponent(MyBox, {
$id: 'my-box',
pluginId: 'my-plugin',
displayName: 'My box',
})
components.getSchema('my-box')
// `nodes` is a NodesMap: node id -> NodeSchema
canvas.setNodes(nodes)
const root = canvas.rootNode
从服务器组件或其他服务器代码:
import type { AglynScreen, NodeSchema } from '@aglyn/aglyn/server'
怎样才合适
@aglyn/aglyn 这是 core 软件包地图的范围。 它只进口自己
常规 @aglyn/shared-* 软件包。 它没有渲染,没有设计师,
没有租赁和插件: 核心从不导入插件, 插件的插件
域名生活在该插件中。 其它一切都贴在上面:
@aglyn/aglyn-node-renderer 把它的结点树变成反应,
@aglyn/besigner 财务报告和审定财务报表 @aglyn/besigner-ui 编辑它们 @aglyn/tenant-*
包服务他们,每个 @aglyn/plugins-* 软件包登记册
管理人员.
许可证
阿帕奇2.0 (英语). 资料来源: https://github.com/aglyn/aglyn/tree/main/libs/aglyn 页面存档备份,存于互联网档案馆