Nodejs: mudanças entre as edições
(Nova página: = Introdução = = Dia 1: Blog = Comecei instalando o node.js e express.js. TODO: gravar como instalar O node.js é baseado em eventos. TODO: explicar melhor node.js aqui var h...) |
Sem resumo de edição |
||
(4 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
= | == Tutoriais == | ||
* [[Nodejs - Como instalar?]] | |||
= Dia 1: Blog = | = Dia 1: Blog = | ||
Linha 5: | Linha 7: | ||
Comecei instalando o node.js e express.js. TODO: gravar como instalar | Comecei instalando o node.js e express.js. TODO: gravar como instalar | ||
O node.js é | Como banco de dados, escolhi MongoDB. TODO: gravar como instalar e demo básico | ||
O node.js é uma API que permite entrada e saída orientada a eventos. Ou seja, não é preciso que existam vários processos rodando o tempo todo esperando conexões em uma porta. Basta que poucos processos rodem e disparem outros assim que eventos ocorrerem. | |||
Isso é especialmente interessante para operações de IO. Programas provedores de serviços são um bom exemplo: um servidor HTTP pode responder somente quando for requisitado, permitindo atender a milhões de chamadas com poucos processos. | |||
Por exemplo, para criarmos um servidor HTTP, deixá-lo escutando na porta 1337 localmente e depois mandar ele dormir e acordá-lo somente quando escutar alguma requisição, podemos fazer: | |||
var http = require('http'); | var http = require('http'); | ||
Linha 13: | Linha 21: | ||
}).listen(1337, "127.0.0.1"); | }).listen(1337, "127.0.0.1"); | ||
console.log('Server running at http://127.0.0.1:1337/'); | console.log('Server running at http://127.0.0.1:1337/'); | ||
== Express.js == | |||
Para facilitar o desenvolvimento usando node.js, usaremos express.js, um framework que facilita algumas rotinas de desenvolvimento básicas (routing de URLs, ...). | |||
Usamos o aplicativo '''express''' no console para gerar o esqueleto inicial da nossa aplicação: | |||
$ express /home/vilson/src/labmacambira/gt-web/blog | |||
Isso irá criar os seguintes arquivos: | |||
create : /home/vilson/src/labmacambira/gt-web/blog | |||
create : /home/vilson/src/labmacambira/gt-web/blog/package.json | |||
create : /home/vilson/src/labmacambira/gt-web/blog/app.js | |||
create : /home/vilson/src/labmacambira/gt-web/blog/public/javascripts | |||
create : /home/vilson/src/labmacambira/gt-web/blog/public/stylesheets | |||
create : /home/vilson/src/labmacambira/gt-web/blog/public/stylesheets/style.css | |||
create : /home/vilson/src/labmacambira/gt-web/blog/views | |||
create : /home/vilson/src/labmacambira/gt-web/blog/views/layout.jade | |||
create : /home/vilson/src/labmacambira/gt-web/blog/views/index.jade | |||
create : /home/vilson/src/labmacambira/gt-web/blog/public/images | |||
Node que foram criados arquivos JS, arquivos de template HTML (usando Jade) e CSS, além de diretórios auxiliares como public/images. | |||
Porém ainda não foram instaladas as dependências da nossa aplicação Web. O NPM nos ajuda novamente: | |||
$ cd blog | |||
$ npm install -d | |||
O que esse comando faz é olhar o arquivo package.json e procurar pelas dependências (no caso, o próprio express e o jade), baixá-los e instalá-los no diretório node_modules. | |||
Agora já podemos rodar nossa aplicação Web: | |||
$ node app.js | |||
Aponte o browser para http://localhost:3000 e verá uma página inicial do Express. | |||
[[Category:Lab Macambira]] |
Edição atual tal como às 17h00min de 11 de julho de 2016
Tutoriais
Dia 1: Blog
Comecei instalando o node.js e express.js. TODO: gravar como instalar
Como banco de dados, escolhi MongoDB. TODO: gravar como instalar e demo básico
O node.js é uma API que permite entrada e saída orientada a eventos. Ou seja, não é preciso que existam vários processos rodando o tempo todo esperando conexões em uma porta. Basta que poucos processos rodem e disparem outros assim que eventos ocorrerem.
Isso é especialmente interessante para operações de IO. Programas provedores de serviços são um bom exemplo: um servidor HTTP pode responder somente quando for requisitado, permitindo atender a milhões de chamadas com poucos processos.
Por exemplo, para criarmos um servidor HTTP, deixá-lo escutando na porta 1337 localmente e depois mandar ele dormir e acordá-lo somente quando escutar alguma requisição, podemos fazer:
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/');
Express.js
Para facilitar o desenvolvimento usando node.js, usaremos express.js, um framework que facilita algumas rotinas de desenvolvimento básicas (routing de URLs, ...).
Usamos o aplicativo express no console para gerar o esqueleto inicial da nossa aplicação:
$ express /home/vilson/src/labmacambira/gt-web/blog
Isso irá criar os seguintes arquivos:
create : /home/vilson/src/labmacambira/gt-web/blog create : /home/vilson/src/labmacambira/gt-web/blog/package.json create : /home/vilson/src/labmacambira/gt-web/blog/app.js create : /home/vilson/src/labmacambira/gt-web/blog/public/javascripts create : /home/vilson/src/labmacambira/gt-web/blog/public/stylesheets create : /home/vilson/src/labmacambira/gt-web/blog/public/stylesheets/style.css create : /home/vilson/src/labmacambira/gt-web/blog/views create : /home/vilson/src/labmacambira/gt-web/blog/views/layout.jade create : /home/vilson/src/labmacambira/gt-web/blog/views/index.jade create : /home/vilson/src/labmacambira/gt-web/blog/public/images
Node que foram criados arquivos JS, arquivos de template HTML (usando Jade) e CSS, além de diretórios auxiliares como public/images.
Porém ainda não foram instaladas as dependências da nossa aplicação Web. O NPM nos ajuda novamente:
$ cd blog $ npm install -d
O que esse comando faz é olhar o arquivo package.json e procurar pelas dependências (no caso, o próprio express e o jade), baixá-los e instalá-los no diretório node_modules.
Agora já podemos rodar nossa aplicação Web:
$ node app.js
Aponte o browser para http://localhost:3000 e verá uma página inicial do Express.