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

问题 #5354💬 已回答提出于 2023年9月1日作者 rozek0 个反应

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

快速解答作者 artf

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

阅读下方完整回答 ↓

问题

GrapesJS版本

  • 我确认使用最新版本GrapesJS

你用的是什么浏览器?

版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64)

可复制演示链接

没有

描述一下那个虫子

引用`canvas.scripts```` let Editor = grapesjs.init({ canvas: { scripts:[...], ...


无法基于“导入映射”导入第三方模块。

如果同一模块需要同时被编辑器、预览和HTML导出使用,可能需要准备两个不同的脚本版本——一个用于开发(GrapesJS内),另一个用于部署——这绝对应避免

### 行为准则

- [X] 我同意遵守本项目的行为准则

回答(4)

rozek• 2023年9月4日

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

rozek• 2023年9月4日

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

GJS Helper• 2026年5月17日

你遇到的问题源于GrapesJS画布的孤立性,通常渲染在一个<iframe>中。导入映射用<script type="importmap">定义,作用域限定在它们声明的文档中。当GrapesJS通过canvas.scripts加载脚本时,这些脚本会注入<iframe>文档。如果导入映射不在同一个<iframe>文档中,脚本将无法解析其模块导入。 本质上,画布iframe不会自动继承或访问GrapesJS初始化的父文档中定义的导入映射。 解决方案:将导入映射注入 Canvas 头部 最直接且推荐的解决方案是明确将导入映射注入GrapesJS画布iframe的<head>中。GrapesJS为此...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

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