mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-01-12 08:58:15 +00:00
Merge remote-tracking branch 'origin/develop' into release/1.1.11-beta
This commit is contained in:
commit
1d8eb596b3
@ -20,7 +20,7 @@ sidebar_position: 0
|
||||
|
||||
低代码引擎分为 4 大模块,入料 - 编排 - 渲染 - 出码:
|
||||
|
||||
- 入料模块就是将外部的物料,比如海量的 npm 组件,按照《物料描述协议》进行描述。将描述后的数据通过引擎 API 注册后,在编辑器中使用。
|
||||
- 入料模块就是将外部的物料,比如海量的 npm 组件,按照[《低代码引擎物料协议规范》](/site/docs/specs/material-spec)进行描述。将描述后的数据通过引擎 API 注册后,在编辑器中使用。
|
||||
> **注意,这里仅是增加描述,而非重写一套,这样我们能最大程度复用 ProCode 体系已沉淀的组件。**
|
||||
- 编排,本质上来讲,就是**不断在生成符合[《低代码引擎搭建协议规范》](/site/docs/specs/lowcode-spec)的页面描述,将编辑器中的所有物料,进行布局设置、组件 CRUD 操作、以及 JS / CSS 编写/ 逻辑编排 **等,最终转换成页面描述,技术细节后文会展开。
|
||||
- 渲染,顾名思义,就是**将编排生成的页面描述结构渲染成视图的过程**,视图是面向用户的,所以必须处理好内部数据流、生命周期、事件绑定、国际化等。
|
||||
|
||||
@ -153,11 +153,7 @@ export class Editor extends EventEmitter implements IEditor {
|
||||
return;
|
||||
}
|
||||
if (!AssetsCache[exportName] || !npm?.version || AssetsCache[exportName].npm?.version !== npm?.version) {
|
||||
try {
|
||||
await (new AssetLoader()).load(url);
|
||||
} catch (error) {
|
||||
console.error(`${url} load error: `, error);
|
||||
}
|
||||
await (new AssetLoader()).load(url);
|
||||
}
|
||||
AssetsCache[exportName] = component;
|
||||
function setAssetsComponent(component: any, extraNpmInfo: any = {}) {
|
||||
|
||||
@ -49,7 +49,7 @@ export class Workbench extends Component<{
|
||||
<SkeletonContext.Provider value={skeleton}>
|
||||
<TopArea area={skeleton.topArea} itemClassName={topAreaItemClassName} />
|
||||
<div className="lc-workspace-workbench-body">
|
||||
<LeftArea className="lc-workspace-left-area" area={skeleton.leftArea} />
|
||||
<LeftArea className="lc-workspace-left-area lc-left-area" area={skeleton.leftArea} />
|
||||
<LeftFloatPane area={skeleton.leftFloatArea} />
|
||||
<LeftFixedPane area={skeleton.leftFixedArea} />
|
||||
<div className="lc-workspace-workbench-center">
|
||||
|
||||
@ -126,9 +126,10 @@ export class EditorWindow implements IEditorWindow {
|
||||
async init() {
|
||||
await this.initViewTypes();
|
||||
await this.execViewTypesInit();
|
||||
Promise.all(Array.from(this.editorViews.values()).map((d) => d.onSimulatorRendererReady)).then(() => {
|
||||
this.workspace.emitWindowRendererReady();
|
||||
});
|
||||
Promise.all(Array.from(this.editorViews.values()).map((d) => d.onSimulatorRendererReady()))
|
||||
.then(() => {
|
||||
this.workspace.emitWindowRendererReady();
|
||||
});
|
||||
this.url = await this.resource.url();
|
||||
this.setDefaultViewName();
|
||||
this.initReady = true;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user