PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

GrapesJS 问题

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

找到 336 个问题

🔍 style-manager
#59412024年6月11日作者 shahsalmanbukhari3 个回答
1 个反应

GrapesJS CDN 无法使用

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 125.0.6422.113 可复制演示链接 <script src=“https://grapesjs.com/js/toastr.min.js”></script> 描述一下那个虫子 如何复现这个漏洞?只需点击这些链接中的任意一个,他们会显示404页 预期的行为是什么? 它应该能从CDN加载文件 目前的行为是什么? 文件不会从CDN加载 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 行为准则 [X] 我同意遵守本项目的行为准则

artf

嘿,@shahsalmanbukhari你说的不是CDN,而是公开网站上的简单资源。请不要使用它们,因为没有版本控制,甚至不保证不会被迁移(因为网站迁移导致的)。 请使用真实的CDN作为使用方式 https://unpkg.com/grapesjs

shahsalmanbukhari

嘿@shahsalmanbukhari你说的不是CDN,而是公共网站上的简单资源。请不要使用它们,因为没有版本控制,甚至不保证不会被迁移(因为网站迁移导致的)。使用真实的CDN作为 https://unpkg.com/grapesjs 你好@artf 非常感谢,让我试试你建议的解决方案

GJS Helper

你遇到的 404 错误是关于提供的 GrapesJS 链接,是因为你误解了 GrapesJS 资源通常的提供方式。你分享的链接,比如 https://grapesjs.com/js/toastr.min.js 和 https://grapesjs.com/stylesheets/grapes.min.css,是直接指向 grapesjs.com 网站上托管的资源的路径。这些主要用于网站内部演示和页面, grapesjs.com 并非用于外部项目的公开 CDN。 根本原因:...

#59292024年6月6日作者 mcnika2 个回答
0 个反应

GrapesJS 未能将样式应用到 wrapper

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 版本 125.0.6422.141 可复制演示链接 无 描述一下那个虫子 在为存储管理器设置以下配置时: 'storageManager: { 自动保存:错误, 自动加载:错误, } 封装样式(背景色、图片......)消失,只得到这个: '<正体样式=“框大小:边框;边距:0;”> ... 行为准则 [X] 我同意遵守本项目的行为准则

artf

可复现的演示是提交bug报告的必不可少。

GJS Helper

当storageManager.autoload在GrapesJS中设置为false时,编辑器会明确避免加载之前保存的项目数据,包括应用到包装器上的样式(通常默认是<body>元素)。这意味着GrapesJS从一个最小的、未样式化的<body>元素开始,正如你所观察到的,因为它没有从存储中检索任何自定义样式。 这不是个bug,而是禁用autoload时预期的行为。如果你想在autoload: false时包装上显示特定样式(如背景色、图片等),必须在编辑器初始化时明确提供这...

#58912024年5月17日作者 shapley2 个回答
0 个反应

在Ubuntu 24.04 LTS上安装Grapesjs和yarn

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Firefox 125.0.3,Brave 1.66.110 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 按照“git”指令在终端执行“yarn start”时安装 Grapesjs : ~$ sudo apt install Nodejs NPM ~$ sudo apt install curl gnupg -y ~$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg |sudo apt-key add - 回声“Deb https://d...

artf

谢谢@shapley,这其实和GrapesJS甚至Yarn没什么关系,你得[增加文件系统监视者](https://stackoverflow.com/a/65347277)。

GJS Helper

你遇到的ENOSPC: System limit for number of file watchers reached错误是Linux系统(包括Ubuntu 24.04 LTS)在处理包含大量文件的大型项目时常见的问题,比如带有nodemodules目录的GrapesJS仓库。这不是GrapesJS或Yarn特有的bug,而是操作系统的限制。 根本原因: 你的操作系统对inotify子系统可以监控的文件和目录数量有默认限制。开发工具如Webpack、Sass和chokid...

#58852024年5月14日作者 vincepv3 个回答
1 个反应

在全屏模式下,颜色选择器是隐藏的

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Firefoxe 125.0.3(64位) 可复制演示链接 https://grapesjs.com/demo-newsletter-editor.html 描述一下那个虫子 如何复现这个漏洞?安装最新版本的 grapejs点击全屏选择带有颜色属性的文本或块点击开放样式管理器点击色彩选择器 ![grapesColor](https://github.com/GrapesJS/grapesjs/资产/26679806/3349a2ba-abb2-4d87-aa69-e7c7a00eb7ad) 你可以在这里转载:[https://grapesj...

vincepv

问题解决了。 我找到了解决办法。 当我启动 grapejs 时,我会用 colorPicker 传递对象配置 const config = { 容器:“#editor”, fromElement: true, 其他配置选项在这里 colorPicker: { 附录:'父', 偏移:{ 顶部:26,左:-166, }, } }

artf

谢谢@vincepv,可能会因为编辑器容器的渲染方式和位置,全屏命令和颜色选择器的默认配置之间存在冲突。 在大多数情况下,只要把颜色选择器放在同一个编辑器容器里,它们就能正常工作。 “''js Grapesjs.init({ 容器:“#gjs”, colorPicker: { appendTo: '#gjs' }, // ... }) ```

GJS Helper

你遇到的问题是,当 GrapesJS 处于全屏模式下,颜色选择器被隐藏,这是与堆叠上下文和全屏元素渲染方式相关的常见问题。这不是颜色选择器本身的bug,而是不同元素在页面上叠加方式存在冲突。 根本原因 当 GrapesJS 进入全屏模式(默认情况下,它将 position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; 应用到主容器,通常为 #gjs),它实际上创建了一个覆盖整个浏览器视口...

#58822024年5月13日作者 Riddle10011 个回答
0 个反应

ID在更改后没有更新

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 如何复现这个漏洞?创建方块点击它进入特质标签页设置新ID进入样式标签页查看身份未变(类别下) 要查看身份证,您必须:执行前述步骤方块失焦(例如点击身体)聚焦方块 预期的行为是什么? 让ID更新时无需重新聚焦 目前的行为是什么? 需要重新聚焦才能看到ID的变化 行为准则 [X] 我同意遵守本项目的行为准则

GJS Helper

这确实是GrapesJS中已知的同步问题,比如样式标签的选择器显示不会立即反映通过特性面板对组件ID所做的更改。你描述的行为是准确且可复现的。 根本原因 根本原因在于GrapesJS UI组件,特别是样式标签中的SelectorManager及其关联视图,如何对属性变化做出反应。当你通过Trait面板修改组件的ID时,底层组件模型的id属性会被更新。然而,负责显示活动选择器(包括ID选择器)的SelectorManager视图,不会在已选中组件的id属性变化时自动重新渲染或...

#58292024年4月19日作者 Mustufask3 个回答
0 个反应

未捕获类型错误:__webpack_require__.r 不是 ./node_modules/grapesjs/dist/grapes.mjs (grapes.mjs:1:1) at __webpack_require__ (bootstrap:789:1) at fn (bootstrap:150:1) at ./src/Demo/Templates/TextEditor.js (Templates.js:31:1) __webpack_require__at fn (bootstrap:150:1) at ./src/Demo/Templates/Templates.js (Templates.css:45:1) at __webpack_require__ (bootstrap:789:1) at fn (bootstrap:150:1)

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? 版本 123.0.6312.123可复制演示链接 未捕获类型错误:_webpackrequire_.r 不是 ./nodemodules/grapesjs/dist/grapes.mjs (grapes.mjs:1:1) 在 _webpackrequire (bootstrap:789:1) at fn (bootstrap:150:1) 在 ./src/Demo/Templates/TextEditor.js (Templates.js:31:1) 在 webpackrequire (bootstrap:789:1) at fn (boots...

Mustufask

@artf请帮我解决这个问题,因为这个节点模块文件不允许 Grapesjs 在我的基于 react 的环境中工作 项目

artf

相关讨论 https://github.com/GrapesJS/grapesjs/discussions/5400 请在开启问题前使用搜索功能。

GJS Helper

你遇到的Uncaught TypeError: _webpackrequire.r is not a function错误是Webpack常见的特有问题,涉及其处理ES模块(以.mjs结尾的文件)及其内部模块互操作逻辑。webpackrequire.r函数是Webpack的辅助工具,用来标记模块为ES模块(例如,Object.defineProperty(exports, 'esModule', { value: true });)。当该函数被报告为not a functi...

#58262024年4月18日作者 subhojit-unnatim1 个回答
0 个反应

[X] 我确认使用最新版本 GrapesJS

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 123.0.6312.123 可复制演示链接 https://jsfiddle.net/35Lq26du/1/ 描述一下那个虫子 如何复现这个漏洞?插入任何容器、柱子等更改组中任一的背景颜色,如果你插入两个容器,则更换一个容器的背景 预期的行为是什么?应更改容器背景色 目前的行为是什么? 其他容器的背景颜色变化也很重要 我注意到风格管理器用类名来存储 CSS 属性,而不是 id 。 用 img style manager 时用 id,但大部分时间用类名代替 ID行为准则 [X] 我同意遵守本项目的行为准则

GJS Helper

你遇到的问题,比如更换一个容器的背景颜色会影响其他容器,这并不是GrapesJS核心功能的bug,而是CSS与GrapesJSfromElement: true初始化以及导入HTML结构结合的直接结果。让我们拆解根本原因,给出一个明确的解决方案。 根本原因 当你用 fromElement: true初始化GrapesJS时,它会按原样导入你现有的 HTML 结构。在你提供的演示中,有两个div元素,它们共享类 container: GrapesJS的样式管理器默认会将样式应...

#58102024年4月14日作者 ctrhub4 个回答
1 个反应

不必要的画布风格

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Arc 版本 1.35.0 / Chromium 引擎 123.0可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 我的特殊情况: 就我而言,所有插件和通用样式都放在头部。为了在编辑器中实现类似功能,我会把这些样式添加到画布头。当我在通用样式中指定背景色时,它会被GJS画布样式覆盖。这迫使我指定 规则,而我不想这么做。 ![截图 2024-04-14 19 51 32](https://github.com/GrapesJS/grapesjs/assets/108364491/1d2628a7-ed6...

artf

它的目的是存储画布样式,那些不会影响 hmtl/css 结果的样式,不会导出的样式,对吧? 正确默认的机身是白色背景,这似乎是所有浏览器的默认颜色,对吧? 是的,但“iframe”主体没有默认背景色,所以才有那个样式,所以你需要根据你的使用情境找到合适的。

artf

有 [canvasCss](https://github.com/GrapesJS/grapesjs/blob/99bc79c1e45da1a2db62aace97b62206eb103bc2/src/editor/config/config.ts#L154) 选项。 下次请开个讨论区,这不是核心漏洞,而是用法错误。

ctrhub

嘿,@artf。谢谢你的回答。我不确定我们是否完全理解对方,我想澄清一个细节。 是的,我知道canvasCss属性,而且我用它来更改所选组件的样式。我理解这个属性的本质:它旨在存储画布样式,那些不会影响 hmtl/css 结果的样式,不会导出的样式,对吧? 那为什么默认画布样式有这个 CSS 规则 '''body { background-color: white; }``` ?为什么我们有理由去覆盖它? 我理解选择了主体元素的情况,在这种情况下,为交互性应用一些样式是合理...

#57952024年4月4日作者 gitpugal2 个回答
0 个反应

如何添加额外的自定义块管理器,比如块管理器和样式管理器这样的标签页或分区,并添加一些块?

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬V9 可复制演示链接 描述一下那个虫子 如何复现这个漏洞?...... 预期的行为是什么? ... 目前的行为是什么? ... 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 行为准则 [X] 我同意遵守本项目的行为准则

artf

@gitpugal如果有任何问题,请使用讨论区

GJS Helper

GrapesJS 提供了一个灵活的面板和命令系统,允许你通过自定义部分扩展其界面,类似于默认的块管理器和样式管理器的操作方式。要添加额外的自定义块管理器类标签或部分并填充特定块,你需要利用 GrapesJS的面板管理器、命令管理器和块管理器。 这个解决方案包括创建一个新面板来存放自定义方块,在主 views-container (左侧侧边栏标签页)添加一个按钮来激活该面板,并定义一个命令,只渲染你自定义类别中的方块。 逐步解决方案 1.初始化 GrapesJS 并定义自定义...

#57882024年4月2日作者 lexoyo3 个回答
0 个反应

CSS 属性的默认值

GrapesJS版本[X] 我确认使用最新版本GrapesJS你用的是什么浏览器? 无可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 大家好,!!<3 如何复现这个漏洞?打开[grapesjs官方网页演示](https://grapesjs.com/demo.html)点击容器,例如英雄区容器对容器应用font-weight: bold;样式 => 内部所有文本变粗选择其中一个文本,勾选属性font-weight,该属性设置为normal 预期的行为是什么? font-weight应该在空字符串或unset上'',这样我才能选择normal来取消应用font-weight: bold;...

artf

我需要选择别的,而不是普通 是的,如果没有值,默认界面会预选“默认值”,但这很容易更新 “''js 编辑。StyleManager.getProperty('typography', 'font-weight').set({ 默认: ' ' }); ``` 所以我猜这不是核心漏洞,而是“意外预期”的行为 🥲

lexoyo

哦,明白了,我以为你会希望默认值是预期的行为 😃 谢谢你的回答

GJS Helper

你好!感谢你报告这个问题。你准确指出了GrapesJS风格管理器中关于默认CSS属性值的一个常见混淆点和合理的可用性问题,尤其是在处理继承时。这种行为并不是指GrapesJS故障的bug,而是默认属性呈现方式上的设计选择,可能具有误导性。 根本原因解释 GrapesJS风格管理器定义属性时,defaults值。对于像font-weight这样的属性,默认定义通常包括defaults: 'normal'。当编辑器中选中元素且没有显式font-weight样式时,样式管理器的f...

浏览所有主题