diff --git a/packages/designer/src/plugin/plugin-context.ts b/packages/designer/src/plugin/plugin-context.ts index b2f02d307..170b531d8 100644 --- a/packages/designer/src/plugin/plugin-context.ts +++ b/packages/designer/src/plugin/plugin-context.ts @@ -1,6 +1,6 @@ import { Editor, Hotkey, hotkey } from '@ali/lowcode-editor-core'; import { Skeleton } from '@ali/lowcode-editor-skeleton'; -import { ILowCodePluginConfig, ILowCodePluginManager, ILowCodePluginContext, IDesignerCabin, ILowCodePlugin } from '@ali/lowcode-types'; +import { ILowCodePluginConfig, ILowCodePluginManager, ILowCodePluginContext, IDesignerCabin } from '@ali/lowcode-types'; import { getLogger, Logger } from '../utils'; import { registerMetadataTransducer, diff --git a/packages/designer/src/plugin/plugin-manager.ts b/packages/designer/src/plugin/plugin-manager.ts index 40b01127d..824837e5a 100644 --- a/packages/designer/src/plugin/plugin-manager.ts +++ b/packages/designer/src/plugin/plugin-manager.ts @@ -24,7 +24,7 @@ export class LowCodePluginManager implements ILowCodePluginManager { register( pluginConfig: (ctx: ILowCodePluginContext, options: CompositeObject) => ILowCodePluginConfig, - options: CompositeObject, + options: CompositeObject = {}, ): void { const ctx = this._getLowCodePluginContext(); const config = pluginConfig(ctx, options); diff --git a/packages/editor-preset-vision/src/project.ts b/packages/editor-preset-vision/src/project.ts index 2d978c748..321ef53a9 100644 --- a/packages/editor-preset-vision/src/project.ts +++ b/packages/editor-preset-vision/src/project.ts @@ -2,7 +2,8 @@ import { designer } from './editor'; const { project } = designer; -Object.assign(project, { +const visionProject = {}; +Object.assign(visionProject, project, { getSchema(): any { return this.schema || {}; }, @@ -16,4 +17,4 @@ Object.assign(project, { }, }); -export default project; +export default visionProject; diff --git a/packages/engine/src/engine.ts b/packages/engine/src/engine.ts index a1be5ab74..260311f65 100644 --- a/packages/engine/src/engine.ts +++ b/packages/engine/src/engine.ts @@ -11,7 +11,6 @@ import { Skeleton, SettingsPrimaryPane, registerDefaults } from '@ali/lowcode-ed import * as skeletonCabin from '@ali/lowcode-editor-skeleton'; import Outline, { OutlineBackupPane, getTreeMaster } from '@ali/lowcode-plugin-outline-pane'; import DesignerPlugin from '@ali/lowcode-plugin-designer'; -import builtinSetters from '@ali/lowcode-editor-setters'; import './modules/live-editing'; export * from './modules/editor-types'; @@ -20,7 +19,6 @@ export * from './modules/designer-types'; export * from './modules/lowcode-types'; const { hotkey, monitor, getSetter, registerSetter } = editorCabin; -registerSetter(builtinSetters as any); registerDefaults(); const editor = new Editor(); @@ -132,6 +130,9 @@ const getSelection = () => designer.currentDocument?.selection; }; export async function init(container?: Element) { + // 因为这里的 setter 可能已经用到了 VisualEngine 的 API,所以延迟到此加载,而不是一开始就加载 + const builtinSetters = require('@ali/lowcode-editor-setters').default; + registerSetter(builtinSetters as any); let engineContainer = container; if (!engineContainer) { engineContainer = document.createElement('div'); diff --git a/packages/vision-polyfill/src/project.ts b/packages/vision-polyfill/src/project.ts index 7e1d9c7d6..145d4f80c 100644 --- a/packages/vision-polyfill/src/project.ts +++ b/packages/vision-polyfill/src/project.ts @@ -2,7 +2,8 @@ import { designer } from '@ali/lowcode-engine'; const { project } = designer; -Object.assign(project, { +const visionProject = {}; +Object.assign(visionProject, project, { getSchema(): any { return this.schema || {}; }, @@ -16,4 +17,4 @@ Object.assign(project, { }, }); -export default project; +export default visionProject;