标签: strapi

Strapi api 响应中未包含的组件

我今天决定使用 Strapi 作为我的作品集的无头 CMS,但我遇到了一些问题,我似乎无法在网上找到解决方案。也许我太无能,无法真正找到真正的问题。

我已经为我的项目设置了一个模式,该模式将存储在 Strapi 中(所有内容都在网络中完成),但是我的自定义组件遇到了一些问题,也就是说,当我运行时它们不是 API 响应的一部分通过邮递员。(不仅仅是空键,而且根本不包含在响应中)。所有其他字段(不是组件)均按预期填写。

起初我认为这可能与权限有关,但一切都已启用,所以不可能是这样,我还尝试查看代码中的 API,但记录的答案也不包含组件。

这是架构中一些字段的图像,但更重要的是响应中未包含的组件。

一些领域

所以我的问题是,我是否需要在项目中创建某种解析器或任何内容才能包含这些字段,或者为什么不包含它们?

headless content-management-system strapi

29
推荐指数
2
解决办法
2万
查看次数

如何解决将 Strapi 部署到 Heroku 时出现的“中间件“strapi::session”:需要应用程序密钥”错误?

我正在按照官方说明将我的Strapi 入门应用程序部署到 Heroku。该应用程序在本地运行良好。我在部署说明中唯一遗漏的是安装 PG 节点模块(它已经安装,因为我的本地应用程序使用 Postgresql)。

访问 Heroku 日志,我看到以下内容:

error: Middleware "strapi::session": App keys are required. 
Please set app.keys in config/server.js (ex: keys: ['myKeyA', 'myKeyB'])
Run Code Online (Sandbox Code Playgroud)

也许这是一个重要的细节:我遵循了这个过程一次,一切正常。我能够部署到 Heroku。我又试了一遍,还是不行。我在想 Heroku 可能在重新使用应用程序名称时遇到问题,但我尝试在 Heroku 中将应用程序命名为不同的名称,但仍然遇到相同的错误。

heroku 是否在错误的位置查找我的 server.js 文件?它应该在我的“./config/env/Production”文件夹而不是“./config”文件夹中查找吗?

根据说明,这是我的 ./config/env/Production/database.js

const parse = require('pg-connection-string').parse;
const config = parse(process.env.DATABASE_URL);

module.exports = ({ env }) => ({
  connection: {
    client: 'postgres',
    connection: {
      host: config.host,
      port: config.port,
      database: config.database,
      user: config.user,
      password: config.password,
      ssl: {
        rejectUnauthorized: false
      },
    },
    debug: false,
  }, …
Run Code Online (Sandbox Code Playgroud)

heroku node.js strapi

24
推荐指数
3
解决办法
2万
查看次数

Strapi FetchError:请求 http://localhost:1337/api/events 失败,原因:连接 ECONNREFUSED ::1:1337

如果我使用浏览器以 PUBLIC(未经身份验证的用户)身份访问 localhost:1337/api/events,我会收到以下返回信息:

{"data":[{"id":1,"attributes":{"name":"Throwback Thursday with DJ Manny Duke","slug":"throwback-thursday-with-dj-manny-duke","venue":"Horizon Club","address":"919 3rd Ave New York, New York(NY), 1002","date":"2022-07-20T02:00:00.000Z","time":"10:00 PM","createdAt":"2022-04-12T02:05:08.246Z","updatedAt":"2022-04-12T02:17:16.760Z","publishedAt":"2022-04-12T02:05:16.192Z","performers":"DJ Manny Duke","description":"Description for the vent of DJ Manny Duke"}},{"id":2,"attributes":{"name":"Boom Dance Festival Experience","slug":"boom-dance-festival-experience","venue":"Blackjacks","address":"123 Lexington","date":"2022-04-25T16:00:00.000Z","time":"8:00 PM","createdAt":"2022-04-12T02:26:32.123Z","updatedAt":"2022-04-12T02:26:33.540Z","publishedAt":"2022-04-12T02:26:33.538Z","performers":"DJ LUKE, DJ BLACKJACK","description":"Whatever Description"}},{"id":3,"attributes":{"name":"Encore Night Boat Party","slug":"encore-night-boat-party","venue":"Encore","address":"12343 New York","date":"2022-11-14T16:00:00.000Z","time":"7:00 PM","createdAt":"2022-04-12T02:28:06.028Z","updatedAt":"2022-04-12T02:28:36.292Z","publishedAt":"2022-04-12T02:28:07.622Z","performers":"BAD BOY BILL","description":"Description of Encore"}}],"meta":{"pagination":{"page":1,"pageSize":25,"pageCount":1,"total":3}}}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用 Next.JS 访问相同的链接时,我得到:

FetchError: request to http://localhost:1337/api/events failed, reason: connect ECONNREFUSED ::1:1337
Run Code Online (Sandbox Code Playgroud)

为什么 Strapi 拒绝连接?怎么修?

配置/index.js

export const API_URL =
    process.env.NEXT_PUBLIC_API_URL || 'http://localhost:1337'
Run Code Online (Sandbox Code Playgroud)

页面/index.js

...

export async function getStaticProps() {
        const res = await …
Run Code Online (Sandbox Code Playgroud)

node.js strapi next.js

22
推荐指数
3
解决办法
1万
查看次数

在 Vercel 中部署 Strapi

我有一个 nextjs 应用程序部署到 Vercel,并且正在尝试将管理它的 Strapi cms 也部署到 Vercel,因为在同一服务上维护这两个应用程序会更容易。

Strapi 存储库构建良好,所有内容都是绿色的,但如果所有设置均为默认设置,我会看到 404,如果我将构建文件夹设置为“build”,则会看到空白页。

我确信这应该是一个简单的修复,但我无法弄清楚,有人这样做过吗?

deployment strapi vercel

18
推荐指数
1
解决办法
3万
查看次数

有没有办法备份/导出和导入 Strapi 数据

因此,在从本地主机移动到远程主机并通过 herokuapp.com 部署我的 Strapi 后,我丢失了所有 Strapi 数据。

\n

我在我个人的 NEXT.JS 项目中使用 Strapi。

\n

幸运的是,我的 Strapi 数据库不是那么大,所有内容类型都被保留,所以我能够很快地重新创建数据库。而且这只是一个个人项目。

\n

但我想知道,如果我决定推动 Strapi 在更专业的环境和实际项目 \xe2\x80\x93 中使用,我如何从本地开发转移到部署而不丢失所有数据?

\n

有没有办法在部署之前导出所有内容,然后将其导入到已部署的 CMS 中,或者这是如何工作的?

\n

另外 \xe2\x80\x93 如果我想反过来怎么办?我将继续使用 Heroku 上的 Strapi 开发我的应用程序,但在某些时候我会希望在本地复制 CMS。数据存储在哪里以及如何访问数据?

\n

database strapi

16
推荐指数
2
解决办法
2万
查看次数

错误:必须使用 import 加载 ES 模块:D:\node_modules\react-markdown\index.js 不支持 ES 模块的 require()

目前我正在使用"react": "17.0.2"并且已经安装"react-markdown": "^7.0.1"通过npm i react-markdown我正在使用这个包来显示我从 Strapi CMS 获取的富文本。我使用以下代码来显示内容:

import ReactMarkdown from "react-markdown";

export default function name({ posts }) {
  return (
    <>
      <div>
        <div>
          {posts.Title}
        </div>
      </div>
      <div>
        <ReactMarkdown source={posts.Content} escapeHtml={false} />
      </div>
    </>
  );
}

export async function getStaticProps() {
  const res = await fetch("http://localhost:1337/blogs");
  const posts = await res.json();

  return {
    props: { posts },
  };
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,它给了我以下错误:

在此输入图像描述

我正在使用节点v14.17.0并尝试添加"type": "module".

我的package.json:

import ReactMarkdown from "react-markdown";

export …
Run Code Online (Sandbox Code Playgroud)

javascript markdown npm reactjs strapi

16
推荐指数
1
解决办法
1万
查看次数

Strapi:警告请求 API 时发生错误

我花了几个小时试图在我的 Ubuntu 服务器上安装 Strapi。

\n
\n

Ubuntu: 20.04
\nnodejs: v14.19.0
\nnpm: 6.14.16
\nstrapi: 4

\n
\n
npx create-strapi-app@latest my-project --quickinstall\n
Run Code Online (Sandbox Code Playgroud)\n

所有安装过程都无缝进行,但是当我转到 http://mydomain:1337/admin 以创建第一个用户时,我收到此警告:

\n
\n

请求 API 时发生错误。

\n
\n

我知道这个问题已经遇到过几次,但到目前为止,建议的解决方案都没有帮助我。\n我还在 Chrome 控制台中发现了此错误,但我不确定它是否与我的问题有关:

\n
\n

\xef\xbb\xbfmain.815f1087.js:2 拒绝连接到\n'http://localhost:1337/admin/project-type',因为它违反了\n以下内容安全策略指令:“connect-src 'self '\nhttps:".

\n
\n

任何想法 ?

\n

ubuntu node.js strapi

16
推荐指数
3
解决办法
2万
查看次数

将 Strapi 4.0 应用程序部署到 Heroku 时出现“错误:未知方言未定义”

我使用最新版本(新的 4.0)创建了一个 Strapi 应用程序,我想将其部署到 Heroku。为此,我确实遵循了 Strapi 文档,如本页中所述。现在我收到一个我不明白的错误,我猜它与 postgres 有关。这是错误

\n
2021-12-18T15:26:26.658380+00:00 app[web.1]: [2021-12-18 15:26:26.656] debug: \xe2\x9b\x94\xef\xb8\x8f Server wasn\'t able to start properly.\n2021-12-18T15:26:26.659122+00:00 app[web.1]: [2021-12-18 15:26:26.658] error: Unknow dialect undefined\n2021-12-18T15:26:26.659123+00:00 app[web.1]: Error: Unknow dialect undefined\n2021-12-18T15:26:26.659123+00:00 app[web.1]: at getDialectClass (/app/node_modules/@strapi/database/lib/dialects/index.js:12:13)\n2021-12-18T15:26:26.659123+00:00 app[web.1]: at getDialect (/app/node_modules/@strapi/database/lib/dialects/index.js:19:23)\n2021-12-18T15:26:26.659124+00:00 app[web.1]: at new Database (/app/node_modules/@strapi/database/lib/index.js:38:20)\n2021-12-18T15:26:26.659124+00:00 app[web.1]: at Function.Database.init (/app/node_modules/@strapi/database/lib/index.js:84:33)\n2021-12-18T15:26:26.659125+00:00 app[web.1]: at Strapi.bootstrap (/app/node_modules/@strapi/strapi/lib/Strapi.js:347:30)\n2021-12-18T15:26:26.659125+00:00 app[web.1]: at Strapi.load (/app/node_modules/@strapi/strapi/lib/Strapi.js:410:16)\n2021-12-18T15:26:26.659125+00:00 app[web.1]: at async Strapi.start (/app/node_modules/@strapi/strapi/lib/Strapi.js:161:9)\n
Run Code Online (Sandbox Code Playgroud)\n

除了执行我链接的文档中解释的操作之外,我还使用开发模式下的 UI 添加了一些集合。如何修复此错误并将这个新的 4.0 版本的 Strapi 部署到 Heroku?

\n

heroku strapi

15
推荐指数
2
解决办法
2万
查看次数

为什么 Strapi 不获取检索数据中的关系?

我使用 Strapi 创建了一个 API,到目前为止一切正常。A 有一个“活动”和一个“展位”集合,我设置了一些东西以便在活动中拥有多个展位。

在此输入图像描述

在此输入图像描述

我曾经尝试Insomnia使用 API 并获取数据,当我获取事件时,我对其中的关系没有任何线索。

在此输入图像描述

到处人都说关系应该出现在这里,所以,如果您有任何想法,谢谢。

node.js strapi insomnia

14
推荐指数
1
解决办法
1万
查看次数

next/image 无法使用 props 作为图像源

我的Home页面通过以下方式将数据从我的strapicms 发送到我的PostSlider组件props

import React from "react";
import styles from './index.module.scss'
import { AxiosService } from '../utils/axios-service'
import PostSlider from '../components/postSlider/postSlider'

const Home = ({ posts }) => {
  return (
    <div id='contentsWrap' className={styles.dohandsWrap}>
      <PostSlider home={true} posts={posts} />
    </div>
  )
}

export default Home

export async function getStaticProps() {
  const axios = AxiosService.create()
  const res = await axios.get('/archives', {
    params: {
      category: 'news',
      display: true,
      showDoson: true,
      _limit: 5,
      _sort: 'id:DESC'
    }
  })

  return …
Run Code Online (Sandbox Code Playgroud)

reactjs strapi next.js nextjs-image

13
推荐指数
1
解决办法
4万
查看次数