Fetcher
在 DrupalClient 中使用自定义 fetcher。
DrupalClient
使用 Next.js 中的 polyfilled fetch
作为默认的 fetcher。
您可以使用 fetcher
选项提供您自己的 fetcher。
示例
以下是如何用 cross-fetch 替换默认的 fetcher。
我们使用 **cross-fetch** 而不是 **node-fetch**,因为它与内置的 fetch 兼容,并使用相同的签名。
lib/drupal.ts
import { DrupalClient } from "next-drupal"import crossFetch from "cross-fetch"
// Create a custom fetcher.const customFetcher = (url, options) => { const { withAuth, ...opts } = options
if (withAuth) { // Make additional requests to fetch a bearer token // Or any other Authorization headers. }
return crossFetch(url, { ...opts, // Pass in additional options. Example: agent. })}
// Pass the custom fetcher to the client.export const drupal = new DrupalClient( process.env.NEXT_PUBLIC_DRUPAL_BASE_URL, { fetcher: customFetcher, })