问题 #3100💬 已回答提出于 2020年10月28日作者 stljeff10 个反应

拖拽自定义块后添加外部库

快速解答作者 GoodPHP

你好, 如果你在这里没有找到答案,可以联系Devfuture Team: https://devfuture.pro/contact/ 我们专注于葡萄JS。

阅读下方完整回答 ↓

问题

你好,

我正在定制 GrapesJS,创建组件/块,让用户可以拖到画布上。其中一些模块依赖于外部库,如Bootstrap和FontAwesome..有没有办法检查页面上是否包含必要的依赖关系,如果没有,再添加到页面?

以下是我已经知道的事情。我希望有人能帮我补充对GrapesJS理解的空白,或者指点我一些有用的方向。

  1. 我知道当用户在页面上放置块时,我可以点击[拖放事件](https://grapesjs.com/docs/api/editor.html#available-events)。然而,不知为何我只能触发“block:drag:stop”这个事件。如果我现在尝试把我的库依赖添加到页面上,我会把所有页面内容都清空。显然我太早添加了依赖,需要等块在页面上渲染后再操作。有没有已知的方法可以做到这一点?还是说这会是我GrapesJS项目独有的?

  2. 我也知道你可以添加[代码块的脚本依赖](https://grapesjs.com/docs/modules/Components-js.html#basic-scripts)。有没有办法利用这一点?

如果我无法添加必要的标记来包含用户在页面上拖动块时的依赖,有没有办法通知用户“嘿,你需要包含这些依赖......”?

感谢您的关注。

回答(3)

GoodPHP2020年10月30日

你好,

如果你在这里没有找到答案,可以联系Devfuture Team: https://devfuture.pro/contact/

我们专注于葡萄JS。

stljeff12020年11月12日

@artf CSS文件能做到吗?

不过,我还是通过为任何依赖(CSS或JS)创建了自定义块类型,成功“解决”了我的问题。这种自定义类型通过在画布上放置该类型的块时添加自定义回调来扩展默认视图。当触发回调时,我会弹出一个对话框通知用户依赖,如果用户接受,我会将依赖添加到页面。

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。