首先,让我告诉你,我已经尝试了所有的堆栈溢出解决方案,但没有一个在我的情况下工作,我使用的是新版本的NextJS(版本14),所以我把这个问题后,通过所有的旧问题,所以不要标记为重复。
好了,回到主要问题,
我的问题是我在NextJS应用程序中使用Apollo客户端(GraphQL),我想根据(NODE_ENV)环境使用.env(甚至.env.development / .env.production /.env.local,任何有效的东西)更改Apollo客户端的URI。
但是我不能这样做,当我在浏览器控制台中执行process.env的控制台时,只是在浏览器控制台中获得一个空对象,但是我在我的VS代码控制台中获得了所有内容,如下所示:
x1c 0d1x的数据
我的.env文件和.env.local文件:-
的
下面是我的阿波罗客户端的代码
import { ApolloClient, InMemoryCache } from "@apollo/client";
const CreateApolloClient = () => {
console.log(process.env, "PROCESS");
return new ApolloClient({
uri: `http://localhost:4000/graphql`,
cache: new InMemoryCache(),
});
};
export default CreateApolloClient;
字符串
请帮助我与上述问题,并随时要求任何细节,你想知道。
1条答案
按热度按时间oyjwcjzk1#
要使您的环境变量在客户端上可用,您需要在它前面加上
NEXT_PUBLIC_
https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables#bundling-environment-variables-for-the-browser