首页 > 解决方案 > 通过 contentful-cli 创建的扩展不会在 localhost 上加载

问题描述

我正在尝试使用以下内容文档中给出的步骤创建自己的 UI 字段扩展: https ://www.contentful.com/developers/docs/extensibility/ui-extensions/managing-a-ui-extension/

出于某种原因,我的 localhost:1234 服务器运行但没有加载任何内容... sdk 的 init 函数似乎没有触发,因为在根 div 中没有添加任何内容。

我还尝试克隆示例扩展 https://github.com/contentful/extensions/tree/master/samples/external-api 这也不会在 localhost 上加载任何内容

如果有人之前成功尝试过,请提供帮助

标签: reactjscontentful

解决方案


内容丰富的 DevRel 在这里。

内容 UI 扩展应用程序背后的想法是,它们是iframe在内容 UI 中运行的网站。

// the below callback will only be called 
// when the code runs in a iframe in the Contentful UI
window.contentfulExtension.init(function (sdk) {
  var value = sdk.field.getValue();
  sdk.field.setValue("Hello world!");
});

没错,init当您在浏览器中打开本地运行的扩展服务器时,上面的块不会触发。这里的原因是 Extensions SDK 提供了与周围内容接口的功能和通信。如果没有 Contentful UI,它将无法工作。

SDK 只会在 Contentful UI 中加载任何其他 URLinit时调用您的回调。localhost对于 UI 扩展或应用程序的开发流程,localhost将直接在 UI 中加载,直到您部署扩展。:)

到目前为止,我不知道您是如何设置扩展程序的,但我建议您查看您链接的文档中的视频。它详细介绍了如何在 Contentful UI 中设置 UI 扩展。


推荐阅读