小编Won*_*man的帖子

在自定义渲染函数中返回 Vue 组件以获得内容丰富的嵌入条目

我正在和Contentful一起玩!我在使用富文本内容字段时遇到问题。

我使用“@contentful/rich-text-types”@contentful/rich-text-html-renderer模块来自定义此块的呈现方式,并显示富文本内容中链接的一些资源和参考。

在 nuxt asyncData 函数中调用 getEntries 后,我的页面组件中有一个可用的描述数据。我正在使用带有选项的 documentToHtmlString 函数。

一切工作正常,但我想使用我已经编写的组件(Post.vue),而不是在 ES6 模板字符串中返回模板。

我知道这是可能的,但我对 JS 世界还很陌生。

我尝试要求 Components/post/Post.vue,但我不知道如何使用它。

import { BLOCKS } from '@contentful/rich-text-types';
import { documentToHtmlString } from "@contentful/rich-text-html-renderer"
Run Code Online (Sandbox Code Playgroud)

渲染富文本字段的 Vue 组件模板

  <section class="container">
    <div class="columns">
      <div class="column">
       <div v-html="formatContent(description)" /> 
      </div>
    </div>
  </section>
Run Code Online (Sandbox Code Playgroud)

我只需调用 formatContent 方法来调用 documentToHtmlString,如下所示(它有效):

  methods: {
    formatContent(content) {
      return documentToHtmlString(content, options)
    }
  }
Run Code Online (Sandbox Code Playgroud)

并使用文档中描述的选项自定义 documentToHtmlString:

  const embeddedEntryRender = (node) => {
    const { data: { target: entry} …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js contentful nuxt.js

5
推荐指数
1
解决办法
1734
查看次数

在 Nuxt 2.13 中使用 privateRuntimeConfig

我发现这篇很棒的文章可以在 Nuxt v2.13 应用程序中正确管理环境变量。我只是尝试实现建议的逻辑,但我遇到了一些问题,我想问你。

我设置 publicRuntimeConfig 和 privateRuntimeConfig 如下。我正在使用 Contentful,因此我必须正确设置 Contentful 令牌才能进行 API 调用。

export default {
  // Nuxt target - See https://nuxtjs.org/api/configuration-target
  target: 'static',

  // Nuxt rendering mode - See https://nuxtjs.org/api/configuration-mode
  mode: 'universal',

  // Both server and client.
  publicRuntimeConfig: {
    backendApi: process.env.BACKEND_API_URL
    shopUrl: process.env.SHOP_URL
  },

  // Only available on server using same $config (it overrides publicRuntimeConfig)
  privateRuntimeConfig: {
    ctfSpaceId: CTF_SPACE_ID,
    ctfCdaAccessToken: CTF_CDA_ACCESS_TOKEN,
    ctfCpaAccessToken: CTF_CPA_ACCESS_TOKEN,
    ctfEnvironment: CTF_ENVIRONMENT
  },
Run Code Online (Sandbox Code Playgroud)

在模块导出语句上方,我必须定义 .env 中的数据,因此:

require('dotenv').config()

const {
  CTF_SPACE_ID,
  CTF_CDA_ACCESS_TOKEN,
  CTF_CPA_ACCESS_TOKEN,
  CTF_ENVIRONMENT, …
Run Code Online (Sandbox Code Playgroud)

nuxt.js nuxtjs

5
推荐指数
1
解决办法
5565
查看次数

标签 统计

nuxt.js ×2

contentful ×1

javascript ×1

nuxtjs ×1

vue.js ×1