我的 React 应用程序的
App.js
中有这一行:
console.log(process.env.NODE_ENV);
在开发中运行应用程序时,我按预期在控制台中看到“开发”。
当我运行
npm run build
然后使用 serve -s build
为我的应用程序提供服务时,我会在控制台中看到“生产”,这很棒。
但是当我使用 nginx 运行
npm run build
并尝试使用 pm2 start npm -- start
启动我的应用程序时,我仍然在控制台中看到“开发”。
我尝试在生产中使用
serve
,这似乎可以作为临时修复,但我的会话很快就会超时,整个应用程序会断开连接。
我也尝试过创建一个新的 PM2 配置文件,如下所示:
//ecosystem.config.js
module.exports = {
apps: [
{
name: 'my-react-app',
script: 'serve',
args: ['-s', 'build'],
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'production',
},
},
],
};
并使用命令
pm2 start ecosystem.config.js
启动我的应用程序
但我仍然在控制台中看到“开发”。
我也尝试将
--env production
标志添加到 pm2 start
命令中,如下 pm2 start --env production npm start
但结果仍然相同。
任何帮助或想法将不胜感激。