reactjs - 通过 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 上加载任何内容
如果有人之前成功尝试过,请提供帮助
解决方案
内容丰富的 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 扩展。
推荐阅读
- javascript - 如何在 reactable 中使用聚合函数来显示与另一列的最小值或最大值相关的值?
- c# - 使用 System.Text.Json 反序列化形状奇特的数据
- css - 如何解决链接在 woocommerce 侧边栏打开时无法在移动设备上运行的问题?
- c++ - 将元素从 std::string 推送到字符串类型堆栈时出错
- vue.js - 如何更改根 Vue 实例上的道具?
- google-cloud-platform - 如何在虚拟机实例中应用滚动更新,而不是在 GCP 中使用托管实例组?
- javascript - 如何从 webpack 包中提取 Babel 生成的代码到一个新的块中
- excel - 使用列表突出显示文本字符串
- typescript - 阻止 Visual Studio Code 在我的 Web 浏览器中打开 ESLint 文档
- typescript - TypeScript 定义合并对象,但防止对象属性中不同类型的合并