问题标签 [storyblok]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
49 浏览

angular - 由于 Angular 的版本问题,安装 Storyblok 的 ng-dynamic-component 失败

我正在关注Storyblok 文档中关于将 Angular 与 Storyblok 结合使用的教程。当我运行时npm i ng-dynamic-component --save出现以下错误

找到:@angular/common@12.2.3

npm 错误!node_modules/@angular/common

npm 错误!@angular/common@"~12.2.0" 来自根项目

npm 错误!

npm 错误!无法解决依赖关系:

npm 错误!来自 ng-dynamic-component@8.0.1 的对等 @angular/common@"^11.0.0"

npm 错误!node_modules/ng-动态组件

npm 错误!来自根项目的 ng-dynamic-component@"*"

在我看来,它ng-dynamic-component正在寻找 angular 11 或更高。我刚刚安装了一个新版本的 angular cli,所以我对@12.2.3正在安装的版本以及~12.2.0在我用它生成的根项目中找到的版本有点困惑。无论哪种方式,我都不明白出了什么问题,如何解决?

0 投票
0 回答
43 浏览

javascript - 如何将 Vuex 集成到 Storyblok 插件中?

我正在用 vue 为 storyblok 构建一个插件。我决定将状态管理添加到插件而不是$emit()一路备份组件树的回声室会更容易。main.js我将 Vuex 安装到我的插件中,然后按照 Vuex 教程中的说明将其添加到文件中,但是我的main.js文件没有像常规的 Vue 应用程序main.js文件那样设置。

本教程告诉我们这样做

但是main.js,由于是 storyblok 插件,我的文件看起来像这样

如您所见,设置完全不同,因为它旨在将 Vue 组件作为插件注入 storyblok,而不是设置新的 Vue 应用程序。有人知道我应该在这里做什么吗?

0 投票
0 回答
25 浏览

reactjs - 覆盖默认语言

Storyblock 定义了两种语言:俄语、英语。默认语言是俄语。我需要添加浏览器语言定义。如果浏览器语言是俄语,则站点应以俄语打开,如果浏览器语言为其他语言,则站点应以英语打开。该网站还有一个语言切换器(俄语、英语)。使用 Intl.NumberFormat().resolvedOptions().locale 确定浏览器语言并重定向到网站的英文版可以,但随后网站上的语言切换器不起作用。

这是storyblok-service.js

0 投票
0 回答
223 浏览

javascript - 下一个 JS 路由器 - 路由 [...slug] 未正确呈现

我有一个顶级页面,用于 95% 的内容/[...slug].js我有一个无头 CMS,所以我不需要为路由创建单独的文件夹。

我在 CMS 中的文件夹结构中有内容,例如/holidays/railways/holidays/cruising在前端我可以按原样访问它,一切都很好。

但是,当在这些页面中放置 Next JS Link 和 Router 并单击它们时,URL 最终会更新,但内容将保持不变。

我试过做:

网址现在是/holidays/cruising,但内容仍然是/holidays/railways- 以前有人遇到过这个问题吗?

我一直很想holidays在 Next JS 页面中创建文件夹并放置一个[slug].js,但如果这不起作用,我不想尝试这个。

这是我的/[...slug].js页面

storyblok.js

提前致谢

0 投票
0 回答
66 浏览

gatsby - Gatsby 构建在本地和 Netlify 上运行良好,但在 Cloudflare 页面上运行 401

在 Cloudflare Pages 部署失败并出现以下错误后,我将 Storyblok CMS 与 Gatsby 集成

但是构建在本地和 Netlify 上都可以正常工作。我也向 Cloudflare Pages 添加了所需的环境变量。

(我知道 401 one 是什么意思,但这似乎只发生在 CF 页面上)

package.json


我已经在 CF Pages中NODE_VERSION设置了。14.17.2

0 投票
0 回答
62 浏览

ruby-on-rails - STORYBLOK,RUBY:nil:NilClass (NoMethodError) 的未定义方法“[]”

我对RUBY了解不多,只是想你们可能会帮助我:(。我使用 storyblok 作为我的无头 CMS,当我构建它时,这是我得到的错误

下面的代码来自_plugins/storyblok_cms/generator.rb

下面的代码来自_plugins/storyblok_generator.rb

附加信息:

  • ruby 版本: ruby 2.7.4p191(2021-07-07 修订版 a21a3b7d23)[x64-mingw32]
  • jekyll 版本: jekyll 4.2.1
  • 操作系统:Windows 10
0 投票
1 回答
61 浏览

vue.js - 是否可以通过 Storyblok 绑定 Tailwind 类?

我正在尝试开发一些组件,供我们在 Storyblok 中的内容编辑器使用,并且有一个用例,我们希望通过来自 Storyblok 组件的道具来定义布局属性(使用 Tailwind 的类)。

例如, 图片width通过 storyblok 传递道具,w-1/2其值为 Tailwind 类。正如您在右侧看到的那样,该类很好地应用于元素,但对页面没有实际影响。我已经对许多其他类进行了同样的尝试(对于背景或边框颜色或文本样式等,尝试使用 Tailwind 类作为来自 Storyblok 的道具,但没有奏效)。

我唯一的猜测是 Nuxt 是一个服务器端应用程序,CSS 是在构建时编译的,因此任何绑定到 DOM 的新类都不会反映它们所代表的实际 CSS。这是正确的吗?如果是,有没有办法让这件事发生并发挥作用?

组件的代码就widthSetter这么简单

0 投票
0 回答
16 浏览

vue.js - 是否有可能在 storyblok 中有一个可重用/全局组件?

我正在寻找在 storyblok 中创建一个可重用组件的系统。我正在尝试创建一个系统,我可以在其中导入以前在多个页面上创建的全局组件。例如,我想在定价页面和一个登陆页面中使用我的定价组件,并且只能编辑其中一个以更新所有定价组件。

我按照本教程进行操作,现在我在 storyblok API 中有数据,但我没有使用这种方法的实时预览。因此,任何人都知道一个解决方案,可以拥有像可重用组件这样的系统以及 storyblok 的实时预览?

0 投票
0 回答
36 浏览

javascript - 定义真实路径时无法使用 Storyblok API

我正在使用 Next.js (SSR) 和 Storyblok (Headless CMS) 并使用 Storyblok 内容交付 API 从 Storyblok 获取内容的网站上工作。最初,它使用 SSG 方法查看可用链接,然后从那里生成页面,这就是 Next/StoryBlok 教程的大多数向您展示的方式,但是,我需要使用 SSR 方法。

我有一个页面,它有一个默认的 slug,pages/industries然后在getServerSideProps方法中,我正在slug从传递的上下文参数中寻找。如果页面没有在预览模式下使用,那么它将使用query.slug数据来构建要在 StoryBlok JS 客户端包中使用的路径 ( await Storyblok.get(url, sbParams);)

但是,当real_path已配置为另一个值 ( /industry) 时,query.slug或 将resolved_path更新为实际路径值。查询API时,它是404s,因为实际路由仍然在pages/industries并且这个原始值不在param中contextgetServerSideProps

我认为的一种解决方案是使用查询所有可用链接cdn/links并将 slug 与 real_path 进行比较,然后根据该比较获取故事 ID,但这似乎不正确(目前正在尝试使其工作和扩展) .

这在预览模式下不是问题,因为请求将 Story ID 传递给我,因此很容易查询 API。

这是查看页面的响应,而不是在预览模式下,您可以看到值。

我怎样才能得到原始的 API 链接来查询?

0 投票
0 回答
23 浏览

javascript - 解释通用类型

我在理解这个界面时遇到了问题

这是组件类型

这是我的动态组件:

我的问题出现在这里:

里面content可以有更多 _uid: string component: TComp _editable?: string

例如,size女巫是一个字符串。我可以定义密钥的名称。它也可以是 StoryData 数组,grid: StoryData[]例如。

错误出现在我的Page组件的 Props 中

我该如何解决这个错误?