Cursos / Informática para Internet / Desenvolvimento Backend / Aula

arrow_back Aula 09 - Utilizando o MySQL

Uso do cross-env para controlar o ambiente


Cada sistema operacional tem sua maneira de definir suas variáveis de ambiente e isso pode gerar problemas futuros. Para contornar esse problema existe o cross-env, uma biblioteca no node que faz a definição independentemente do sistema que está sendo usado.

Utilizando o cross-env

Para utilizar a biblioteca, temos que antes fazer sua instalação. Então, execute no terminal o comando:

npm i cross-env

Agora, no package.json altere o script de start para definir o valor de NODE_ENV.

"scripts": {
    "start": "cross-env NODE_ENV=development nodemon --exec node src/index.js",
},

Daí em diante, a variável já possui o valor passado e pode ser utilizada.

Utilizando o valor de NODE_ENV

Atualmente, a variável armazena o valor de development. No entanto, isso será alterado para uso do MySQL. Antes, porém, é necessário alterar o arquivo de configuração do banco de dados para o ambiente de produção executar com o banco de dados desejado.

Para isso, é necessário instalar previamente o MySQL na máquina e após isso alterar o arquivo de configuração do banco de dados. Então, as configurações production do arquivo config.json devem ser alteradas para ficar como abaixo:

    "production": {
            "username": "root",
            "password": "changeme",
            "database": "dbend",
            "host": "127.0.0.1",
            "dialect": "mysql"
        }

Para utilizar esse campo "dialect: mysql", é necessário fazer sua instalação antes, além da instalação prévia do MySQL citada acima. Então, execute no terminal o comando:

    npm install --save mysql2

Configurando a inicialização da aplicação

Até o momento, a inicialização utiliza o valor de NODE_ENV como development. Por isso, agora será criado um script para iniciar a aplicação com um novo valor para essa variável de ambiente. A área de scripts deve, então, ficar como o modelo abaixo:

"scripts": {
    "start": "cross-env NODE_ENV=development nodemon --exec node src/index.js",
    "production": "cross-env NODE_ENV=production node src/index.js"
  },

Versão 5.3 - Todos os Direitos reservados