Я пытаюсь следовать учебнику по NodeJ. Я не думаю, что что-то пропустил, но всякий раз, когда я вызываю, process.env.NODE_ENV
единственное значение, которое я получаю, не определено. Согласно моим исследованиям значением по умолчанию должно быть «развитие». Как динамически устанавливается это значение и где оно устанавливается изначально?
javascript
node.js
basheps
источник
источник
heroku config:set NODE_ENV="production"
Ответы:
process.env - это ссылка на вашу среду, поэтому вы должны установить переменную там.
Чтобы установить переменную среды в Windows :
в OS X или Linux :
источник
export NODE_ENV=development
на своем терминале Mac, прежде чем делатьreact-native run-ios
с того же терминала. При отладке значениеprocess.env.NODE_ENV
не определено.чаевые
в
package.json
:в
app.js
:Итак, это может быть лучше:
или
источник
"start": "set NODE_ENV=dev&& node app.js"
console.log(process.env.NODE_ENV.length)
// 4 (включая пробел в конце)console.log(('' + process.env.NODE_ENV).trim() === 'dev') // true
не выдает ошибку, даже если process.env.NODE_ENV не определен.Для людей, использующих * nix (Linux, OS X и т. Д.), Нет причин делать это с помощью второй команды экспорта, вы можете связать ее как часть вызывающей команды:
Проще нет? :)
источник
Мы столкнулись с этой проблемой при работе с узлом в Windows.
Вместо того, чтобы требовать от тех, кто пытается запустить приложение, установить эти переменные, мы предоставили запасной вариант в приложении.
В производственной среде мы определяем его обычными методами (SET / export).
источник
Вы можете использовать перекрестный env пакет npm. Он позаботится об обрезке переменной среды, а также убедится, что она работает на разных платформах.
В корне проекта запустите:
Затем в вашем package.json под скриптами добавьте:
Затем в своем терминале, в корне проекта, запустите ваше приложение, выполнив:
Переменная окружения будет доступна в вашем приложении как
process.env.NODE_ENV
, так что вы можете сделать что-то вроде:источник
в файле package.json необходимо выполнить настройку, как показано ниже (работает в Linux и Mac OS)
важная вещь - "export NODE_ENV = production" после того, как ваши команды сборки приведены ниже:
для среды разработки нужно нажать команду «npm run dev»
для производственной среды мы должны нажать команду «npm run start»
источник
В macOS для тех, кто использует экспресс-версию
4.x.x
и используетDOTENV
плагин, необходимо использовать так:После установки плагина импортируйте как в файле, где вы запускаете приложение, следующим образом:
require('dotenv').config({path: path.resolve(__dirname+'/.env')});
В корневом каталоге создайте файл «.env» и добавьте переменную, например:
NODE_ENV=development
илиNODE_ENV = development
источник
В UBUNTU используют:
$ export NODE_ENV = тест
источник
Это связано с ОС
В вашем package.json убедитесь, что у вас есть свои скрипты (где app.js - ваш основной js-файл, который нужно выполнить, а NODE_ENV объявлен в .env-файле). Например:
Для окон
Также настройте свою переменную файла .env, имеющую NODE_ENV = development
Если ваш файл .env находится в папке, например, в папке eg.config, обязательно укажите в app.js (ваш основной файл js)
const dotenv = требовать ('dotenv'); dotenv.config ({путь: './config/config.env'});
источник
Если вы столкнулись с этой проблемой в React, вам нужно response-scripts@0.2.3 и выше. Также для других переменных среды, кроме
NODE_ENV
работы в React, они должны иметь префиксREACT_APP_
.источник
Как можно раньше в вашем приложении, требуйте и настраивайте dotenv.
require('dotenv').config()
источник
Вы также можете установить его по коду, например:
process.env.NODE_ENV = 'test';
источник