nextjs - 使用 NODE_ENV=development 的下一个构建

IT技术 reactjs next.js
2021-05-19 02:52:46

我想将我的nextjs项目构建开发模式。

我试过喜欢它

包.json

{
  ...
  "scripts": {
    "dev": "next",
    "build:dev": "set NODE_ENV=development & next build",
    "build:prod": "set NODE_ENV=production & next build",
    "start:dev": "set NODE_ENV=development & next start",
    "start:prod": "set NODE_ENV=production & next start"
  }
  ...
}

下一个.config.js

module.exports = withSass({
  env: {
    baseUrl: process.env.NODE_ENV === "development" ? "devServerURL": "prodServerURL"
  }
});

但我无法实现我想要的。

所以,我尝试了一些改变。

包.json

  "scripts": {
    "dev": "next",
    "build": "next build",
    "start:dev": "set NODE_ENV=development & next start",
    "start:prod": "set NODE_ENV=production & next start"
  }

但它也不起作用。

如何构建nextwith 开发模式?

提前致谢。

编辑

我的操作系统是 Windows 10。

1个回答

请参阅问题 #9123,(2019 年 10 月 18 日)

NODE_ENV 是不可更改的保留环境变量。唯一有效的值是生产、开发和测试。

如果您需要在不同的生产环境中改变您的应用行为,请使用不同的变量,如 APP_ENV。

以及问题 #17032(2020 年 9 月 12 日)

process.env.NODE_ENV只有 2 个可能的值developmentproduction. 如果未将其设置为该值,您将遇到各种库边缘情况(尤其是在 node_modules 中),在这些情况下您会得到严重的去优化结果。例如,如果您运行性能测试,如果process.env.NODE_ENV未设置为生产,您将获得更糟糕的结果