#node.js
Вопрос:
Сервер Node js не принимает переменные env, когда я запускаю его ide
или если я использую pm2
для его запуска. У меня есть следующие файлы
-client
-server
-package.json
-server.js
server.js
const express = require('express');
const http = require('http');
const https = require("https");
const app = express();
const port = process.env.WEB_PORT || 3001;
console.log(process.env.NODE_ENV);
let server;
if(process.env.NODE_ENV === "production"){
server = https.createServer(app);
}else{
server = http.createServer(app);
}
server.listen(port, () => console.log(`App running on: http://localhost:${port}`));
Я устанавливаю NODE_ENV следующим образом:
Работа с использованием node cmd
export NODE_ENV=production
node server/server.js
Это печатает production
, и сервер запускается в рабочем режиме.
Не работает с использованием pm2 или в среде ide
export NODE_ENV=production
pm2 start server/server.js
Это печатает undefined
и не запускает сервер в рабочем режиме. Я не уверен, что я здесь делаю не так.
Комментарии:
1. Вы пытались установить файл конфигурации и передать переменную env в качестве параметра? например .
pm2 start server/some_config.js --env production
Более подробная информация о том, как использоватьpm
конфигурации здесь: pm2.keymetrics.io/docs/usage/environment