-
Notifications
You must be signed in to change notification settings - Fork 0
Introdução ao Node.js
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:
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).
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
.
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
.
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.