Sanity studio 无法看到环境变量

问题描述 投票:0回答:1

问题:

我正在使用 NextJS 和 Sanity 无头 CMS。

我想保护项目 ID 等变量。

在我的 .env 文件中,我有以下内容

SANITY_STUDIO_DATASET=production
SANITY_STUDIO_PROJECT_ID=*********

打开 Studio 时,我收到以下消息:

Error: Configuration must contain `projectId`

> 85 | export const sanityClient = createClient(sanityConfig);
     |                                     ^

注意:如果我使用像NEXT_PUBLIC_PROJECT_ID这样的东西(我们不想这样做,因为它暴露了它)

,它应该可以正常工作。

我的理智配置:

export const sanityConfig = {
    dataset: process.env.SANITY_STUDIO_DATASET || 'production',
    projectId: process.env.SANITY_STUDIO_PROJECT_ID as string,
    apiVersion: '2022-03-07',
    useCdn: true,
};

有什么想法或者可以尝试的事情吗?

next.js sanity
1个回答
0
投票

这就是我喜欢运行 Sanity Studio 的方式。 除了

.env
文件之外,我还有
env.js
文件,如下所示:

export const studioApiVersion = process.env.SANITY_STUDIO_API_VERSION
export const studioProjectID = process.env.SANITY_STUDIO_PROJECT_ID
export const studioDataset = process.env.SANITY_STUDIO_DATASET
...

当我想使用环境变量时,我导入它:

import { studioProjectID, studioDataset } from './env'

它在本地运行,部署在 Sanity Studio 域和我喜欢使用的 Cloudflare Pages 上。

© www.soinside.com 2019 - 2024. All rights reserved.