alibaba / lowcode-engine

An enterprise-class low-code technology stack with scale-out design / 一套面向扩展设计的企业级低代码技术体系
https://lowcode-engine.cn
MIT License
14.58k stars 2.53k forks source link

在debug模式下无法正确代理本地启动的引擎项目 #1769

Closed beautiful-boyyy closed 1 year ago

beautiful-boyyy commented 1 year ago

Describe the bug (required) / 详细描述 bug(必填)

xswitch在debug模式下无法代理引擎资源,虽然window.AliLocodeEngine.version是代理后的版本,但是打断点调用的是未代理的remote资源

To Reproduce (required) / 如何复现 bug?(必填,非常重要)

  1. 克隆lowcode-plugin,按照文档配置调试
  2. cd package/plugin-components-pane && npm i && npm start
  3. 启动本地lowcode engine项目,配置代理
  4. openurl (https://lowcode-engine.cn/demo/demo-general/index.html?debug)

Expected behavior (required) / 预期行为(必填,非常重要)

engine core and ext资源在debug模式下能够正常代理

Environments (please complete the following information) (required): / 请提供如下信息(必填)

感觉是插件这段配置寄了

Screenshot 2023-03-27 at 14 03 11

beautiful-boyyy commented 1 year ago

@JackLian

JackLian commented 1 year ago

这个是个历史问题, plugin-components-pane 并不是一个真的插件,只是个组件....所以是启动不了的,插件的壳的部分在demo工程里....

JackLian commented 1 year ago

我们会尽快处理,也欢迎PR

beautiful-boyyy commented 1 year ago

这个是个历史问题, plugin-components-pane 并不是一个真的插件,只是个组件....所以是启动不了的,插件的壳的部分在demo工程里....

我把它搞过来了,这是搞过来后出现的问题

beautiful-boyyy commented 1 year ago

这个是个历史问题, plugin-components-pane 并不是一个真的插件,只是个组件....所以是启动不了的,插件的壳的部分在demo工程里....

我想debug,所以我启动本地引擎项目,开xswitch代理,debug模式下,window上拿到的也确实是本地的版本(1.1.2),然后build-plugin-inject注入plugin-components-pane(已经在lowcode-plugin提pr了)也显示成功,问题在于我在打断点调的不是1.1.2的本地引擎,而是最新的beta版本的引擎

JackLian commented 1 year ago

那得提供个复现工程了,我们跑起来看看

beautiful-boyyy commented 1 year ago

那得提供个复现工程了,我们跑起来看看

引擎,加了一行log, plugin-components-pane,将其初始化为插件

开xswitch代理engine,demo不带debug参数时,engine打印了一条log,带debug参数是并没有打印,在插件项目上打个端点就会发现用的引擎是最新的beta版资源

eternalsky commented 1 year ago

问题表述有点混乱,目前到底是 plugin-components-pane 代理不到,还是引擎本身代理调试不到。

beautiful-boyyy commented 1 year ago

问题表述有点混乱,目前到底是 plugin-components-pane 代理不到,还是引擎本身代理调试不到。

就是debug状态下window上拿到的确实是代理后的引擎版本,但是实际掉用的不是,和这个插件无关,它能正常注入

eternalsky commented 1 year ago

我理解你代理引擎使用的是 xswitch 做 redirect,应该跟 debug 没有关系吧?debug 是为了调试插件、组件的。是不是可以简化为你现在不知道如何代理引擎的 js。跟加 debug 参数无关。

beautiful-boyyy commented 1 year ago

我理解你代理引擎使用的是 xswitch 做 redirect,应该跟 debug 没有关系吧?debug 是为了调试插件、组件的。是不是可以简化为你现在不知道如何代理引擎的 js。跟加 debug 参数无关。

😅

beautiful-boyyy commented 1 year ago

我理解你代理引擎使用的是 xswitch 做 redirect,应该跟 debug 没有关系吧?debug 是为了调试插件、组件的。是不是可以简化为你现在不知道如何代理引擎的 js。跟加 debug 参数无关。

Screenshot 2023-03-27 at 15 14 49

eternalsky commented 1 year ago

我理解你代理引擎使用的是 xswitch 做 redirect,应该跟 debug 没有关系吧?debug 是为了调试插件、组件的。是不是可以简化为你现在不知道如何代理引擎的 js。跟加 debug 参数无关。

Screenshot 2023-03-27 at 15 14 49

我不是想看你的 xswitch 配置,而是想把这个问题做一些简化。因为从上面的描述中可以看出,其实目前的纠结点在于你觉得代理已经成功了,但是在 source 面板基于你的一些判断,认为代理不成功,调试不到关键的代码。但这里又引入了 debug 的 case,让这个问题复杂化了。所以,你现在不加 debug,就没有问题了吗。还是加不加 debug,其实都有你说的问题。

beautiful-boyyy commented 1 year ago

我理解你代理引擎使用的是 xswitch 做 redirect,应该跟 debug 没有关系吧?debug 是为了调试插件、组件的。是不是可以简化为你现在不知道如何代理引擎的 js。跟加 debug 参数无关。

Screenshot 2023-03-27 at 15 14 49

我不是想看你的 xswitch 配置,而是想把这个问题做一些简化。因为从上面的描述中可以看出,其实目前的纠结点在于你觉得代理已经成功了,但是在 source 面板基于你的一些判断,认为代理不成功,调试不到关键的代码。但这里又引入了 debug 的 case,让这个问题复杂化了。所以,你现在不加 debug,就没有问题了吗。还是加不加 debug,其实都有你说的问题。

不加debug没事,加了debug,插件只要注入成功(不成功也没事),引擎就不能调试了,实际用的并不是我代理的本地引擎

eternalsky commented 1 year ago

我理解你代理引擎使用的是 xswitch 做 redirect,应该跟 debug 没有关系吧?debug 是为了调试插件、组件的。是不是可以简化为你现在不知道如何代理引擎的 js。跟加 debug 参数无关。

Screenshot 2023-03-27 at 15 14 49

我不是想看你的 xswitch 配置,而是想把这个问题做一些简化。因为从上面的描述中可以看出,其实目前的纠结点在于你觉得代理已经成功了,但是在 source 面板基于你的一些判断,认为代理不成功,调试不到关键的代码。但这里又引入了 debug 的 case,让这个问题复杂化了。所以,你现在不加 debug,就没有问题了吗。还是加不加 debug,其实都有你说的问题。

不加debug没事,加了debug,插件只要注入成功(不成功也没事),引擎就不能调试了,实际用的并不是我代理的本地引擎

这个判断是如何得出的呢?是本来可以断点的 sourceMap 文件消失了,还是看到调试的文件名不对?

beautiful-boyyy commented 1 year ago

我理解你代理引擎使用的是 xswitch 做 redirect,应该跟 debug 没有关系吧?debug 是为了调试插件、组件的。是不是可以简化为你现在不知道如何代理引擎的 js。跟加 debug 参数无关。

Screenshot 2023-03-27 at 15 14 49

我不是想看你的 xswitch 配置,而是想把这个问题做一些简化。因为从上面的描述中可以看出,其实目前的纠结点在于你觉得代理已经成功了,但是在 source 面板基于你的一些判断,认为代理不成功,调试不到关键的代码。但这里又引入了 debug 的 case,让这个问题复杂化了。所以,你现在不加 debug,就没有问题了吗。还是加不加 debug,其实都有你说的问题。

不加debug没事,加了debug,插件只要注入成功(不成功也没事),引擎就不能调试了,实际用的并不是我代理的本地引擎

这个判断是如何得出的呢?是本来可以断点的 sourceMap 文件消失了,还是看到调试的文件名不对?

我前面不都说了嘛,引擎里面打log,插件没注入时打印了,注入了没有打印。。。 或者再注入的plugin-components-pane里面debugger,这个skeleton.add用的engine-core.js是beta版的(source面板

Screenshot 2023-03-27 at 15 27 13

LeoYuan commented 1 year ago

从 Network 面板看看这个 beta 版本的 engine-core.js 是谁加载的?

eternalsky commented 1 year ago

我理解你代理引擎使用的是 xswitch 做 redirect,应该跟 debug 没有关系吧?debug 是为了调试插件、组件的。是不是可以简化为你现在不知道如何代理引擎的 js。跟加 debug 参数无关。

Screenshot 2023-03-27 at 15 14 49

我不是想看你的 xswitch 配置,而是想把这个问题做一些简化。因为从上面的描述中可以看出,其实目前的纠结点在于你觉得代理已经成功了,但是在 source 面板基于你的一些判断,认为代理不成功,调试不到关键的代码。但这里又引入了 debug 的 case,让这个问题复杂化了。所以,你现在不加 debug,就没有问题了吗。还是加不加 debug,其实都有你说的问题。

不加debug没事,加了debug,插件只要注入成功(不成功也没事),引擎就不能调试了,实际用的并不是我代理的本地引擎

这个判断是如何得出的呢?是本来可以断点的 sourceMap 文件消失了,还是看到调试的文件名不对?

我前面不都说了嘛,引擎里面打log,插件没注入时打印了,注入了没有打印。。。 或者再注入的plugin-components-pane里面debugger,这个skeleton.add用的engine-core.js是beta版的(source面板

Screenshot 2023-03-27 at 15 27 13

引擎里的log 具体是打在哪个文件里的?

beautiful-boyyy commented 1 year ago

我理解你代理引擎使用的是 xswitch 做 redirect,应该跟 debug 没有关系吧?debug 是为了调试插件、组件的。是不是可以简化为你现在不知道如何代理引擎的 js。跟加 debug 参数无关。

Screenshot 2023-03-27 at 15 14 49

我不是想看你的 xswitch 配置,而是想把这个问题做一些简化。因为从上面的描述中可以看出,其实目前的纠结点在于你觉得代理已经成功了,但是在 source 面板基于你的一些判断,认为代理不成功,调试不到关键的代码。但这里又引入了 debug 的 case,让这个问题复杂化了。所以,你现在不加 debug,就没有问题了吗。还是加不加 debug,其实都有你说的问题。

不加debug没事,加了debug,插件只要注入成功(不成功也没事),引擎就不能调试了,实际用的并不是我代理的本地引擎

这个判断是如何得出的呢?是本来可以断点的 sourceMap 文件消失了,还是看到调试的文件名不对?

我前面不都说了嘛,引擎里面打log,插件没注入时打印了,注入了没有打印。。。 或者再注入的plugin-components-pane里面debugger,这个skeleton.add用的engine-core.js是beta版的(source面板 Screenshot 2023-03-27 at 15 27 13

引擎里的log 具体是打在哪个文件里的?

Screenshot 2023-03-27 at 16 00 53

beautiful-boyyy commented 1 year ago

从 Network 面板看看这个 beta 版本的 engine-core.js 是谁加载的?

Screenshot 2023-03-27 at 16 03 45

我不知道咋看

eternalsky commented 1 year ago

debug 的作用是用来调试某些插件,原理是在插件注册前,根据是否有本地的调试链接来决定真正注册的插件是哪个。因为 debug 只能影响你启动了调试的插件,至于你现在的判断是否生效的方式,是取决于 log 是否生效,这个 Title 插件我看到引擎中有多处引用。合理猜测是你目前看到的 log,是 Title 被引入到插件(plugin-component-pane)之后看到的那个。debug 启动后,替换成了调试中的 plugin-component-pane,但是这个地方,可能他引用的还是没有加 log 的因发布的版本。因此看不到这个 log 了。但其实引擎还是用的调试版,只是没有判断出来,想要区分这个,可以在引擎的主入口增加一些 log,看看他是否还受 debug 影响。

beautiful-boyyy commented 1 year ago

plugin-components-pane

你可以跑下这个项目plugin-components-pane,然后在这里debug,然后走几步就能看到用的是beta. engine了

Screenshot 2023-03-27 at 15 27 13

beautiful-boyyy commented 1 year ago

debug 的作用是用来调试某些插件,原理是在插件注册前,根据是否有本地的调试链接来决定真正注册的插件是哪个。因为 debug 只能影响你启动了调试的插件,至于你现在的判断是否生效的方式,是取决于 log 是否生效,这个 Title 插件我看到引擎中有多处引用。合理猜测是你目前看到的 log,是 Title 被引入到插件(plugin-component-pane)之后看到的那个。debug 启动后,替换成了调试中的 plugin-component-pane,但是这个地方,可能他引用的还是没有加 log 的因发布的版本。因此看不到这个 log 了。但其实引擎还是用的调试版,只是没有判断出来,想要区分这个,可以在引擎的主入口增加一些 log,看看他是否还受 debug 影响。

我的主要目的是调试插件,但是有时候问题可能来自于引擎,所以我需要插件里面使用的也是我代理的引擎

eternalsky commented 1 year ago

debug 的作用是用来调试某些插件,原理是在插件注册前,根据是否有本地的调试链接来决定真正注册的插件是哪个。因为 debug 只能影响你启动了调试的插件,至于你现在的判断是否生效的方式,是取决于 log 是否生效,这个 Title 插件我看到引擎中有多处引用。合理猜测是你目前看到的 log,是 Title 被引入到插件(plugin-component-pane)之后看到的那个。debug 启动后,替换成了调试中的 plugin-component-pane,但是这个地方,可能他引用的还是没有加 log 的因发布的版本。因此看不到这个 log 了。但其实引擎还是用的调试版,只是没有判断出来,想要区分这个,可以在引擎的主入口增加一些 log,看看他是否还受 debug 影响。

我的主要目的是调试插件,但是有时候问题可能来自于引擎,所以我需要插件里面使用的也是我代理的引擎

这要看你插件里都引用了引擎哪些部分,以及这些部分是否都 external 到同一套上去,可以自己排查一下。

beautiful-boyyy commented 1 year ago

debug 的作用是用来调试某些插件,原理是在插件注册前,根据是否有本地的调试链接来决定真正注册的插件是哪个。因为 debug 只能影响你启动了调试的插件,至于你现在的判断是否生效的方式,是取决于 log 是否生效,这个 Title 插件我看到引擎中有多处引用。合理猜测是你目前看到的 log,是 Title 被引入到插件(plugin-component-pane)之后看到的那个。debug 启动后,替换成了调试中的 plugin-component-pane,但是这个地方,可能他引用的还是没有加 log 的因发布的版本。因此看不到这个 log 了。但其实引擎还是用的调试版,只是没有判断出来,想要区分这个,可以在引擎的主入口增加一些 log,看看他是否还受 debug 影响。

我的主要目的是调试插件,但是有时候问题可能来自于引擎,所以我需要插件里面使用的也是我代理的引擎

这要看你插件里都引用了引擎哪些部分,以及这些部分是否都 external 到同一套上去,可以自己排查一下。

😅,build.json 加 externals解决了,我还以为是 build-plugin-alt或者build-plugin-inject出问题了,还特定去看了源码,不懂build-script怎么玩的

beautiful-boyyy commented 1 year ago

debug 的作用是用来调试某些插件,原理是在插件注册前,根据是否有本地的调试链接来决定真正注册的插件是哪个。因为 debug 只能影响你启动了调试的插件,至于你现在的判断是否生效的方式,是取决于 log 是否生效,这个 Title 插件我看到引擎中有多处引用。合理猜测是你目前看到的 log,是 Title 被引入到插件(plugin-component-pane)之后看到的那个。debug 启动后,替换成了调试中的 plugin-component-pane,但是这个地方,可能他引用的还是没有加 log 的因发布的版本。因此看不到这个 log 了。但其实引擎还是用的调试版,只是没有判断出来,想要区分这个,可以在引擎的主入口增加一些 log,看看他是否还受 debug 影响。

我的主要目的是调试插件,但是有时候问题可能来自于引擎,所以我需要插件里面使用的也是我代理的引擎

这要看你插件里都引用了引擎哪些部分,以及这些部分是否都 external 到同一套上去,可以自己排查一下。

我明天在lowcode-plugin下重提个PR完善下plugin-component-pane模板

eternalsky commented 1 year ago

@beautiful-boyyy ok,你是加了哪个 externals 最终解决的?

beautiful-boyyy commented 1 year ago

@beautiful-boyyy ok,你是加了哪个 externals 最终解决的?

@alilc/lowcode-engine": "var window.AliLowCodeEngine,主要我翻过build-plugin-alt源码,它里面配得有,所以关注点就没在plugin-components-pane这点,没想到每个地方都要配置,我没学过webpack,不太懂

eternalsky commented 1 year ago

我看了一下你 fork 的项目,主要是修改成插件之后,build.json 的配置有点不对,可以参考下同目录下其他插件。 @beautiful-boyyy

LeoYuan commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

eternalsky commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

本身是配置过了,是因为这个插件是由 react 组件改过来的,build.json 配置不太正确,参考我上面的回复~

LeoYuan commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

本身是配置过了,是因为这个插件是由 react 组件改过来的,build.json 配置不太正确,参考我上面的回复~

嗯,我意思插件中来配置这个 externals 似乎不是最好的选择~

eternalsky commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

本身是配置过了,是因为这个插件是由 react 组件改过来的,build.json 配置不太正确,参考我上面的回复~

嗯,我意思插件中来配置这个 externals 似乎不是最好的选择~

恩,build.json 正确的情况下不需要额外配置这个 externals

beautiful-boyyy commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

本身是配置过了,是因为这个插件是由 react 组件改过来的,build.json 配置不太正确,参考我上面的回复~

嗯,我意思插件中来配置这个 externals 似乎不是最好的选择~

恩,build.json 正确的情况下不需要额外配置这个 externals

报歉,之前下午描述的情况有误,(可能是由于网络延迟或者浏览器缓存,挺玄学的😭,还是之前的情况,我按照plugin-datasource-pane的build.json改了,如下

{
  "externals": {
    "react": "var window.React",
    "@alifd/next": "var window.Next",
    "@alilc/lowcode-engine": "var window.AliLowCodeEngine"
  },
  "plugins": [
    "build-plugin-component",
    "build-plugin-fusion",
    [
      "build-plugin-moment-locales",
      {
        "locales": ["zh-cn"]
      }
    ],
    [
      "@alilc/build-plugin-alt",
      {
        "type": "plugin",
        "inject": true,
        "openUrl": "https://lowcode-engine.cn/demo/index.html?debug"
      }
    ]
  ]
}

这里的externals加不加都没用

Screenshot 2023-03-27 at 20 33 16
beautiful-boyyy commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

本身是配置过了,是因为这个插件是由 react 组件改过来的,build.json 配置不太正确,参考我上面的回复~

嗯,我意思插件中来配置这个 externals 似乎不是最好的选择~

恩,build.json 正确的情况下不需要额外配置这个 externals

报歉,之前下午描述的情况有误,(可能是由于网络延迟或者浏览器缓存,挺玄学的😭,还是之前的情况,我按照plugin-datasource-pane的build.json改了,如下

{
  "externals": {
    "react": "var window.React",
    "@alifd/next": "var window.Next",
    "@alilc/lowcode-engine": "var window.AliLowCodeEngine"
  },
  "plugins": [
    "build-plugin-component",
    "build-plugin-fusion",
    [
      "build-plugin-moment-locales",
      {
        "locales": ["zh-cn"]
      }
    ],
    [
      "@alilc/build-plugin-alt",
      {
        "type": "plugin",
        "inject": true,
        "openUrl": "https://lowcode-engine.cn/demo/index.html?debug"
      }
    ]
  ]
}

这里的externals加不加都没用

Screenshot 2023-03-27 at 20 33 16
beautiful-boyyy commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

本身是配置过了,是因为这个插件是由 react 组件改过来的,build.json 配置不太正确,参考我上面的回复~

嗯,我意思插件中来配置这个 externals 似乎不是最好的选择~

恩,build.json 正确的情况下不需要额外配置这个 externals

报歉,之前下午描述的情况有误,(可能是由于网络延迟或者浏览器缓存,挺玄学的😭,还是之前的情况,我按照plugin-datasource-pane的build.json改了,如下

{
  "externals": {
    "react": "var window.React",
    "@alifd/next": "var window.Next",
    "@alilc/lowcode-engine": "var window.AliLowCodeEngine"
  },
  "plugins": [
    "build-plugin-component",
    "build-plugin-fusion",
    [
      "build-plugin-moment-locales",
      {
        "locales": ["zh-cn"]
      }
    ],
    [
      "@alilc/build-plugin-alt",
      {
        "type": "plugin",
        "inject": true,
        "openUrl": "https://lowcode-engine.cn/demo/index.html?debug"
      }
    ]
  ]
}

这里的externals加不加都没用

Screenshot 2023-03-27 at 20 33 16
eternalsky commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

本身是配置过了,是因为这个插件是由 react 组件改过来的,build.json 配置不太正确,参考我上面的回复~

嗯,我意思插件中来配置这个 externals 似乎不是最好的选择~

恩,build.json 正确的情况下不需要额外配置这个 externals

报歉,之前下午描述的情况有误,(可能是由于网络延迟或者浏览器缓存,挺玄学的😭,还是之前的情况,我按照plugin-datasource-pane的build.json改了,如下

{
  "externals": {
    "react": "var window.React",
    "@alifd/next": "var window.Next",
    "@alilc/lowcode-engine": "var window.AliLowCodeEngine"
  },
  "plugins": [
    "build-plugin-component",
    "build-plugin-fusion",
    [
      "build-plugin-moment-locales",
      {
        "locales": ["zh-cn"]
      }
    ],
    [
      "@alilc/build-plugin-alt",
      {
        "type": "plugin",
        "inject": true,
        "openUrl": "https://lowcode-engine.cn/demo/index.html?debug"
      }
    ]
  ]
}

这里的externals加不加都没用

Screenshot 2023-03-27 at 20 33 16

这个也是错的。。看一下 plugin-code-editor 的,或者 npm init @alilc/element 初始化一个新插件看看是怎么写的~

beautiful-boyyy commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

本身是配置过了,是因为这个插件是由 react 组件改过来的,build.json 配置不太正确,参考我上面的回复~

嗯,我意思插件中来配置这个 externals 似乎不是最好的选择~

恩,build.json 正确的情况下不需要额外配置这个 externals

报歉,之前下午描述的情况有误,(可能是由于网络延迟或者浏览器缓存,挺玄学的😭,还是之前的情况,我按照plugin-datasource-pane的build.json改了,如下

{
  "externals": {
    "react": "var window.React",
    "@alifd/next": "var window.Next",
    "@alilc/lowcode-engine": "var window.AliLowCodeEngine"
  },
  "plugins": [
    "build-plugin-component",
    "build-plugin-fusion",
    [
      "build-plugin-moment-locales",
      {
        "locales": ["zh-cn"]
      }
    ],
    [
      "@alilc/build-plugin-alt",
      {
        "type": "plugin",
        "inject": true,
        "openUrl": "https://lowcode-engine.cn/demo/index.html?debug"
      }
    ]
  ]
}

这里的externals加不加都没用

Screenshot 2023-03-27 at 20 33 16

这个也是错的。。看一下 plugin-code-editor 的,或者 npm init @alilc/element 初始化一个新插件看看是怎么写的~

初始化出来的是build.js,editor也是,连注入过程都没了。。。

beautiful-boyyy commented 1 year ago

在插件中写 @alilc/lowcode-engine": "var window.AliLowCodeEngine 好像有点重,在设计器层面的构建配置 / alt 的构建配置 / 插件自启动的模拟设计器的构建配置中增加是不是更友好点?

本身是配置过了,是因为这个插件是由 react 组件改过来的,build.json 配置不太正确,参考我上面的回复~

嗯,我意思插件中来配置这个 externals 似乎不是最好的选择~

恩,build.json 正确的情况下不需要额外配置这个 externals

报歉,之前下午描述的情况有误,(可能是由于网络延迟或者浏览器缓存,挺玄学的😭,还是之前的情况,我按照plugin-datasource-pane的build.json改了,如下

{
  "externals": {
    "react": "var window.React",
    "@alifd/next": "var window.Next",
    "@alilc/lowcode-engine": "var window.AliLowCodeEngine"
  },
  "plugins": [
    "build-plugin-component",
    "build-plugin-fusion",
    [
      "build-plugin-moment-locales",
      {
        "locales": ["zh-cn"]
      }
    ],
    [
      "@alilc/build-plugin-alt",
      {
        "type": "plugin",
        "inject": true,
        "openUrl": "https://lowcode-engine.cn/demo/index.html?debug"
      }
    ]
  ]
}

这里的externals加不加都没用

Screenshot 2023-03-27 at 20 33 16

这个也是错的。。看一下 plugin-code-editor 的,或者 npm init @alilc/element 初始化一个新插件看看是怎么写的~

试了好多次还是不行哦,要不你提供个参考?

1degrees commented 9 months ago

可以给一个完整版的,能跑起引擎,并且可以调试源码的demo嘛