首页 > 解决方案 > next.config.js 中的 process.env

问题描述

我正在尝试将 Next.js 图像优化与外部加载程序一起使用。我不知道为什么以下不起作用

module.exports = withPlugins([withGraphql], {
  [PHASE_PRODUCTION_BUILD]: {
    webpack: (config, { webpack }) => {
      config.plugins.push(new webpack.IgnorePlugin(/\/__tests__\//))
      return config
    },
  },
  images = {
    loader: 'imgix',
    path: process.env.IMAGE_LOADER_URL,
  }
})

但是,如果我对它的值进行硬编码。这是在 Heroku 上并process.env.IMAGE_LOADER_URL在日志中记录显示的值。

标签: herokunext.jsnextjs-image

解决方案


所以这是双重的:

  1. Next.js.env在构建时加载任何文件之前读取此文件。
  2. docker buildHeroku在运行容器化构建时不使用 env vars 运行。

最终我的解决方案是放弃 Dockerized 构建。这也提高了我的部署速度。


推荐阅读