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

问题 #5149💬 已回答提出于 2023年5月29日作者 jchautreux0 个反应

无名插件和选项

快速解答作者 artf

这似乎和 https://github.com/microsoft/TypeScript/issues/35945 有关 作为一个临时的变通方法,你可以先这样做: “''js pluginsOpts: { [myPlugin.toString()]: { customField: 'customValue' } }

阅读下方完整回答 ↓

问题

GrapesJS 版本

  • 我确认使用最新版本 GrapesJS

你用的是什么浏览器?

全部都没有,bug出在构建过程中

可复制演示链接

没必要

描述一下那个虫子

如何复现这个漏洞? 使用 NPM 安装 GrapesJS 以便在 TypeScript 项目中使用。 根据文档,要设置非命名插件的选项,我们必须定义如下 init:

plugins: [myPlugin],
pluginsOpts: {
  [myPlugin]: {
     customField: 'customValue'
  }
}

预期的行为是什么? 项目建设顺利进行

目前的行为是什么? 该版本因以下错误而失败: A computed property name must be of type 'string', 'number', 'symbol', or 'any'.

供参考 我们可以使用命名插件,但这种做法是将“弃用”标记为非命名版本 且不能用于官方插件,因为这些插件是无名的

行为准则

  • 我同意遵守本项目的行为准则

回答(4)

artf• 2023年5月30日

这似乎和 https://github.com/microsoft/TypeScript/issues/35945 有关 作为一个临时的变通方法,你可以先这样做: “''js pluginsOpts: { [myPlugin.toString()]: { customField: 'customValue' } }

jchautreux• 2023年5月30日

听起来是个好主意

GJS Helper• 2026年5月17日

你遇到的TypeScript构建失败的问题是,在尝试将选项传递给非命名GrapesJS插件时,是因为TypeScript对对象字面值中计算的属性名称进行了严格的类型检查。虽然JavaScript在用作对象键时会隐式将函数对象转换为其字符串表示,而TypeScript要求计算出的属性名称必须显式为类型string、number、symbol或any。 根本原因 在你的代码片段中: You are attempting to use the 5 function object directly as a computed property name (6). TypeScript see...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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