NODE_ENV
é uma variável de ambiente popularizada pela estrutura expressa do servidor da web. Quando um aplicativo de nó é executado, ele pode verificar o valor da variável de ambiente e fazer coisas diferentes com base no valor. NODE_ENV
especificamente é usado (por convenção) para indicar se um ambiente específico é um ambiente de produção ou desenvolvimento . Um caso de uso comum está executando código de depuração ou log adicional se estiver sendo executado em um ambiente de desenvolvimento.
Acessando NODE_ENV
Você pode usar o código a seguir para acessar a variável de ambiente você mesmo, para poder executar suas próprias verificações e lógica:
var environment = process.env.NODE_ENV
Ou, alternativamente, usando express ' app.get('env')
( nota: esse padrão é "development"
)
Esteja ciente de que, se você não tiver definido explicitamente NODE_ENV
para o seu ambiente, será undefined
.
Definindo NODE_ENV
Como realmente definir a variável de ambiente varia de sistema operacional para sistema operacional e também depende da configuração do usuário.
Se você deseja definir a variável de ambiente como única, é possível fazer isso na linha de comando:
- linux e mac :
export NODE_ENV=production
- janelas :
$env:NODE_ENV = 'production'
A longo prazo, você deve persistir com isso para não desarmar se você reiniciar - em vez de listar todos os métodos possíveis para fazer isso, vou deixar você pesquisar como fazer isso sozinho!
A Convenção determinou que existem apenas dois valores que você deve usar para NODE_ENV
, production
ou para development
, todos em minúsculas. Não há nada que o impeça de adicionar mais valores, mas provavelmente não é uma boa ideia, pois vejo muito desse tipo de código em muitos dos node_modules que eu uso:
var development = process.env.NODE_ENV !== 'production';
Note-se que é uma péssima idéia para tentar conjunto NODE_ENV
de dentro de si uma aplicação nó - se você fizer isso vai só se aplicam ao processo a partir do qual ele foi criado , então as coisas provavelmente não vai funcionar como você espera que eles. Não faça isso - você vai se arrepender.
app.configure('development', ...)
ou "produção" para definir determinadas configurações apenas para ambientes de desenvolvimento ou produção. Veja expressjs.com/api.html#app.configure