reactjs - Next.js 中的 .env.local 文件设置不正确

标签 reactjs next.js

当我在我的项目根目录中创建一个 .env.local 文件时,它没有正确设置。

enter image description here

在文件中,我有这样的 API key

API_KEY=SOME_API_KEY

然后,当我尝试在 getServerSideProps 中使用 process.env.API_KEY 访问它时,它不起作用。当我 console.log(process.env.API_KEY) 我得到 undefiend。我认为这是因为文件设置不正确?

我什至尝试安装 dotenv,但我知道 Next.js 不需要它。

下一个配置文件

module.exports = {
  reactStrictMode: true,
}

最佳答案

您会注意到浏览器将记录 undefined。发生这种情况是因为到目前为止环境变量仅在我们的服务器上定义。

从 Next.js 9.4 开始,Next.js 将使所有以 NEXT_PUBLIC_ 开头的环境变量都可供客户端使用,无需任何进一步配置!

  1. 创建.env(所有环境)、.env.development(开发环境)、.env.production(生产环境)、.env.local(本地环境)

  2. 将前缀 NEXT_PUBLIC_ 添加到您的所有环境变量。

     NEXT_PUBLIC_BASE_URL=http://localhost:3000/
    
  3. 使用前缀process.env

     process.env.NEXT_PUBLIC_BASE_URL
    
  4. 停止并重新启动服务器:

    npm run dev
    
    OR 
    
    yarn dev
    

关于reactjs - Next.js 中的 .env.local 文件设置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69530624/

相关文章:

javascript - 通过带数组的多维循环进行条件渲染

javascript - 热加载器复制代码(n 次)而不是热交换

reactjs - Next.js: ./node_modules/next/dist/client/dev/amp-dev.js

javascript - Tailwindcss 不适用于 next.js;配置有什么问题?

javascript - 如何在 Next.js 中为 material-ui 正确配置 babel?

javascript - 为什么不在我的react元素中添加css样式?

javascript - ReactJS 如何在转到另一个 URL 时传递状态? (单击导航栏上的 "New",转到提交表单)

reactjs - 如何使类对象在 MobX 中可观察?

css - 将 node_module 插件 css 导入下一个 js 元素

reactjs - '() => () => Promise<void>' 类型的参数不能分配给 'EffectCallback' 类型的参数