Skip to content

Introdução ao Node.js

Luis Eduardo Brito edited this page Oct 2, 2013 · 4 revisions

O NodeJS é o ambiente de desenvolvimento do projeto cloudbotio/pipelines. É uma plataforma baseada no V8, a engine javascript do Chrome. Com isso, é possível criar aplicações altamente escaláveis usando a sintaxe do Javascript, aliada a uma coleção de bibliotecas do sistema criadas e executadas em C.

Links úteis:

NPM

O NPM (Node Package Manager) cuida das dependências, testes, controle de versão e builds. É accesível em linha de comando:

  $ npm -h
    
    npm <cmd> -h     quick help on <cmd>
    npm -l           display full usage info
    npm faq          commonly asked questions
    npm help <term>  search for help on <term>
    npm help npm     involved overview

Todos os comandos do NPM devem rodar na pasta raiz do projeto (ele busca o arquivo package.json).

Dependências

AS dependências do projeto estão descritas no arquivo package.json.

  {
    "dependencies": {
      "express": "~3.3.5"
    }
  }

O comando npm install instala todas as dependências do projeto na pasta node_modules.

Para adicionar uma nova dependência localmente use o comando:

npm install <module>

Por exemplo: npm install mongodb

Para adicionar uma nova dependência ao seu sistema, ou seja, torná-la acessível pelo terminal, é necessário usar a flag -g ao instalar o módulo:

npm install -g <module>

Por exemplo: npm install -g nodeunit Assim, é possível chamar no terminal $ nodeunit tests/simple_test.js

Para adicionar uma nova dependência ao projeto, ou seja, fazer com que se replique as outras máquinas, é necessário descrevê-la no arquivo package.json ou usar a flag --save ao instalar o módulo:

npm install --save <module>

Por exemplo: npm install --save mongodb. Isso já cria a entrada no package.json automaticamente. O mesmo acontece com o remove:

npm remove --save <module>

Isso garante que o módulo não será mais listado nas dependências do package.json.

Testes

Os arquivos de teste ficam na pasta test/ e estão dispostos na mesma estrutura de pastas do projeto original.

Os testes são executados pelo NPM, que chama o módulo nodeunit, análogo ao jUnit do Java. Para executá-lo é necessário que ele esteja instalado no sistema que irá roda-lo, usando o comando descrito anteriormente: npm install -g nodeunit

Assim, com nodeunit instalado no sistema, basta chamar no terminal $ nodeunit test/* ou ainda npm test, e ele irá rodar todos os testes do projeto.

Observação:

Usuários de Windows (especialmente os que usarem o nodeclipse) enfrentarão problemas ao rodar os testes pois o CMD do Windows não reconhece a localização test/*, ou seja, todos os arquivos que se encontram dentro da pasta test. O Windows tenta abrir a pasta * dentro da pasta test. Assim, é preciso rodar os testes manualmente em cada subpasta de test.

Deploy

O deploy do sistema deverá ser feito usando os scripts definidos no package.json (usualmente npm run-script deploy). Na falta desses scripts use o módulo Forever na NodeJitsu. Ele garante restart automático em caso de queda do servidor do express.

Clone this wiki locally