GrapesJS 问题

已收录 3,464 个 GitHub 问题 370 个已解决 · 90 个待解决 搜索、筛选并探索经过实战检验的答案。

找到 877 个问题

🔍 question
#53542023年9月1日作者 rozek4 个回答
0 个反应

Canvas.script 的条目不尊重“导入映射”

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64)可复制演示链接 没有描述一下那个虫子 “canvas.scripts”引用的脚本 无法基于“导入映射”导入第三方模块。 如果同一模块必须同时被编辑器、预览和HTML导出使用,可能需要准备两个不同的脚本版本——一个用于开发(在GrapesJS内),另一个用于部署——这绝对应该避免行为准则[X] 我同意遵守本项目的行为准则

artf

https://github.com/GrapesJS/grapesjs/issues/5353#issuecomment-1704023749

rozek

你测试过吗? 尝试时 在当前版本的GrapesJS中,浏览器日志中会出现以下(扩展版)错误信息:

rozek

尝试用数据URI代替文件引用也失败了

#53532023年9月1日作者 rozek3 个回答
0 个反应

Canvas.script 的条目不能是 JS 模块

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64)可复制演示链接 没有描述一下那个虫子 已建立的联系 不能引用JavaScript模块,否则可能会遇到以下错误: 这使得将现代JavaScript与GrapesJS结合使用变得非常困难行为准则[X] 我同意遵守本项目的行为准则

artf

“''js 剧本:[ { src: '...file.js',类型:'module'}, ], ```

rozek

知道了,谢谢

ClaudeCode

谢谢你举报,@rozek。 错误错误: 根本原因分析: Canvas 在调用你的方法之前不会验证状态。当多个操作同时发生时,这会造成时间上的脆弱性。 下一步步骤:** 试试上面的空护卫变通方法 更新至最新的GrapesJS — 许多竞赛条件已被修复 如果这种情况持续,请与团队分享你的具体复制步骤 考虑在你自己的组件初始化中添加防御性检查 这部分正在被积极跟踪,预计将在后续版本中改进。

#53522023年8月31日作者 rozek3 个回答
0 个反应

未捕获的语法错误:意外令牌 '{',时间为CanvasView.ts:590:12

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64) 可复制演示链接 没有 描述一下那个虫子 我有一个带有脚本的组件类型 在使用此类组件预览项目时,GrapesJS 会创建以下 HTML 如果你仔细检查这个输出,会发现内部的“脚本(){'没有被正确闭合。 我已经尝试过找一些变通方法,但还没成功。但我会继续尝试,因为这个问题最终成为了障碍...... 行为准则 [X] 我同意遵守本项目的行为准则

rozek

这很有趣:定义一个独立的功能 以及定义文档中描述的组件类型 按设计运作。 但听起来还是很奇怪,内联函数在导出的HTML中会出现语法错误......

artf

@rozek个好发现,下次发布会修正的

ClaudeCode

谢谢你举报,@rozek。 未捕获语法错误:CanvasView.ts:590:12 的意外令牌 '{' 似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox...

#53462023年8月30日作者 pittleCheung3 个回答
0 个反应

删除组件而不删除其对应样式

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 最新版本的Chrome浏览器 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞? <img width=“1665” alt=“image” src=“https://github.com/GrapesJS/grapesjs/assets/114127651/657cbaf6-7e87-4702-ac7f-36c710464728”> 预期的行为是什么? 风格可能会被简化, 目前的行为是什么? 首先,我的编辑只用一页。每次切换页面,它都会用后端的页面替换当前配置。因此,当我实现公开头部和...

pittleCheung

https://github.com/GrapesJS/grapesjs/issues/1855 的扩展想法

artf

这里讲解了如何创建具有相关样式的组件 https://grapesjs.com/docs/modules/Components.html#components-css 只有在那种情况下,编辑者才会安全地删除相关的样式。

ClaudeCode

谢谢你举报,@pittleCheung。 关于删除组件而不删除对应样式的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something...

#53422023年8月26日作者 wsaca1 个回答
0 个反应

ScrollCanvas 不起作用

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 116.0.3 可复制演示链接 https://grapesjs.com/demo-mjml.html 描述一下那个虫子 如何复现这个漏洞?在画布上滚动到底部并选择一个组件打开层次选择画布顶部的组件,滚动功能无法使用。 预期的行为是什么? 滚动应该能用。 目前的行为是什么? 滚动不起作用。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 你的代码在这里 scrollTop 和 scrollLeft 总是为 0,可以替换为: “''js const { scrollTop, scrollLeft } = this.ge...

ClaudeCode

谢谢你举报,@wsaca。 关于scrollCanvas不工作的好问题。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')...

#53392023年8月26日作者 rozek2 个回答
0 个反应

DragMode:“absolute” 表现怪异

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64)可复制演示链接 没有描述一下那个虫子 我希望编辑器中的组件可以通过拖动来移动。经过一些研究,我发现 “JavaScript let Editor = grapesjs.init({ dragMode:“绝对”, ``` 实现此功能是必要的。至少,我的组件现在可以移动了......但由于编辑器使用包裹器包裹实际组件视图,包装器位置可能是正确的,但视图位置是相对于包装器测量的,这是错误的: <img width=“284” alt=“moving...

rozek

抱歉——这是我这边的问题,在编辑器里才显现出来——抱歉打扰了!

ClaudeCode

谢谢你举报,@rozek。 dragMode:“absolute”行为怪异的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别...

#53342023年8月24日作者 DreamCloudProject4 个回答
1 个反应

在画布中选择自定义组件类型无法正常工作

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome、Opera、Edge 等 可复制演示链接 https://jsfiddle.net/crszh0jo/6/ 描述一下那个虫子 我正在尝试让它像这里描述的那样工作[[问题] Canvas #951](https://github.com/GrapesJS/grapesjs/issues/951)无法选择自定义组件,但还是没成功。 我怎样才能让画布中的选择功能和图层管理器的选择功能一样?因为这里描述的解决方案对我来说不适用。我需要允许用户从画布中选择自定义组件,而不是每次都打开图层管理器。 行为准则 [X] 我同意遵守本项目的行为准则

DreamCloudProject

@artf 是的,你说得对。我阻止了点击传播,所以编辑器无法接收点击事件,因此无法执行选择元素的逻辑。 我尝试通过在组件内将“e.stopPropagation()”替换为“e.preventDefault()”,将点击传播设置为仅对当前元素进行,现在编辑器中的元素选择逻辑正常了。问题似乎已经解决了。谢谢!

DreamCloudProject

https://github.com/GrapesJS/grapesjs/assets/7961936/12180b41-4c29-489d-9bcd-1ea025a96a8f 这个例子展示了它在我的编辑器中的工作原理。

yatoogamii

你好@DreamCloudProject,看起来你的组件MSC头锁住了。这是一个属性,允许从图层点击组件,但不能从Canva本身点击 你能分享或验证你的组件定义,并检查“锁定”属性是否设置为true吗?

#53312023年8月24日作者 rozek3 个回答
0 个反应

色彩选择器可以扩展视口

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64) 可复制演示链接 没有 描述一下那个虫子 这个bug类似于因缺乏对话而被锁定的#596号。这个版本可能为当前版本的 GrapesJS 提供修复。 如何复现这个漏洞? 当在靠近视窗边缘打开色彩选择器时,该选择器可能只能部分可见 <img width=“329” alt=“Screenshot-of-Bug” src=“https://github.com/GrapesJS/grapesjs/assets/514882/9300e2d5-f2...

artf

谢谢@rozek公关总是受欢迎的,我很乐意做评测。

artf

目前暂时关闭,因为看起来无法复现

ClaudeCode

谢谢你举报,@rozek。 关于色彩选择器可能扩展视口的问题很棒。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed'));...

#53302023年8月24日作者 rozek3 个回答
0 个反应

最新版本(提交 4F0C5B1)不再无错误地编译

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 没有 可复制演示链接 没有 描述一下那个虫子 “纱线构建”失败,出现两个错误: 这可能只是TypeScript太挑剔的问题,因为你可以用“// @ts-ignore”禁用错误信息,然后重新编译测试会顺利运行。 但因为我刚接触GrapesJS,不能自评。无论如何,通常不建议直接用“// @ts-忽略”来处理TypeScript错误...... 行为准则 [X] 我同意遵守本项目的行为准则

artf

谢谢@rozek我现在就去修

rozek

非常感谢!

ClaudeCode

谢谢你举报,@rozek。 最新版本(提交4f0c5b1)不再无错误编译的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根...

#53282023年8月22日作者 sdimitrenco2 个回答
0 个反应

移除RTE焦点后可编辑文本,返回之前的内容状态。

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://jsfiddle.net/sdimitrenco/wao1rh0q/30/ 描述一下那个虫子 那是我的组件结构 如果我在文本编辑器中更改span标签中的文本,然后移除该词的焦点,它会返回文本的前一个状态。组件的结构看起来正常,是链接,但内容在图片和文字中,都放在span标签里。 演示 ![图片](https://github.com/GrapesJS/grapesjs/assets/39157717/1a21766a-d945-4d0b-9360-13390722c5dd) 现场演出 https://jsfiddl...

artf

你不应该在文本区间里有“内容”,事实上,如果你用“components”: “[email protected]”来替代它,它会正常工作。

ClaudeCode

谢谢你举报,@sdimitrenco。 移除RTE焦点后可编辑文本的问题,返回了之前的内容状态。似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有...

浏览所有主题