voce pode rodar isto e vera em seu navegador no endereco http://localhost:8080 o texto "Hello World".$ node my-web-server.jsVoce pode ter percebido uma coisa diferente agora. Sua aplicacao node.js nao fechou. Isto acontece pois voce criou um servidor e sua aplicacao node vai continuar rodando e respondendo as requisicoes ate que voce mesmo mate o processo.Se voce quiser ter um servidor web completo, voce tera que fazer este trabalho. Voce deve checar o que foi requisitado, ler os arquivos apropriados e enviar o conteudo de volta. Pessoas ja fizeram estr trabalho duro para voce.Fazendo Algo Util - ExpressExpress e um framework que torna a criacao de sites normais muito simples. A primeira coisa que voce tem que fazer e instala-lo. Juntamente com o comando node, voce tambem tem acesso a um comando chamado npm. Esta ferramenta permite que voce acesse uma enorme colecao de modulos criados pela comunidade, e um deles e o Express.$ cd /my/app/location$ npm install expressQuando voce instala um modulo, ele vai ser colado em uma pasta chamada node_modules dentro do diretorio da sua aplicacao. Voce pode agora "require" (requisitar) este modulo como um modulo embutido. Vamos criar um arquivo estatico basico usando o Express.my-static-file-server.jsvar express = require('express'); app = express();app.use(express.static(__dirname + '/public'));app.listen(8080);$ node my-static-file-server.jsAgora voce tem um servidor de arquivos estaticos bastante eficiente. Tudo que voce colocar dentro da pasta /publicvai ser requisitado pode agora ser requisitado pelo seu navegador e sera mostrado. HTML, imagens, enfim, tudo. Por exemplo, se voce colocar uma imagem chamada my-image.png dentro da pasta public, voce pode acessa-la usando seu navegador no endereco http://localhost:8080/my-image.png. Claro que o Express tem muito muito outros recursos, mas voce pode olha-los a medida que continua desenvolvendo.NPMNos usamos um pouco o NPM nas secoes anteriores, mas eu quero enfatizar o quao importante esta ferramenta se faz no desenvolvimento para Node.js. Existem milhares de modulos disponiveis que resolvem quase todos os problemas tipicos que voce encontra. Lembre-se de checar o NPM antes de re-inventar a roda. Nao e inedito para uma aplicacao Node ter dezenas de dependencias.No exemplo anterior nos instalamos o Express manualmente. Se voce tiver muitas dependencias, essa nao sera uma forma muito interessante de instala-las. E por isso que o NPM faz uso do arquivo package.json.package.json.{ "name" : "MyStaticServer", "version" : "0.0.1", "dependencies" : { "express" : "3.3.x" }}Um arquivo package.json contem um resumo da sua aplicacao. Existem varios campos disponiveis, sendo este apenas o minimo. A secao dependencies (dependencias) descreve o nome e a versao dos modulos que voce gostaria de instalar. Neste caso eu vou aceitar qualquer versao do Express 3.3. Voce pode listar quantas dependencias quiser nesta secao.Agora, ao inves de instalar cada dependencia em separado, nos podemos rodar um simples comando e instalar todas elas.$ npm installQuando voce roda este comando, o npm vai verificar na pasta atual pelo arquivo package.json. Se ele encontrar um, entao ira instalar cada dependencia listada.Organizacao do CodigoAte agora so usamos um unico arquivo, que nao e muito sustentavel. Na maioria das aplicacoes, seu codigo vai ser dividido em varios arquivos. Nao nenhuma norma ou organizacao imposta dizendo