Criando e Executando um Projeto Express.js
O que é o Express.js?
Express.js é um framework web rápido, open-source e minimalista baseado no Node.js. Ele oferece uma série de funcionalidades poderosas para construir aplicações web de página única, multi-página e híbridas. Express.js é um dos frameworks mais populares no ecossistema Node.js, amado por desenvolvedores por seu design simples e flexível.
Principais Características e Vantagens do Express.js
- Simplicidade e Flexibilidade: Express.js fornece uma API simples e um mecanismo de middleware flexível, tornando o desenvolvimento de aplicações web muito eficiente.
- Middleware: Suporta diversos middlewares que podem facilmente lidar com requisições e respostas.
- Roteamento: Possui funcionalidades de roteamento poderosas que permitem tratar requisições baseadas em diferentes métodos HTTP e caminhos de URL.
- Alta Integração: Pode ser integrado perfeitamente com vários motores de template, bancos de dados e outros módulos Node.js.
- Comunidade e Ecossistema: Possui uma grande comunidade e suporte a diversos middlewares e plugins de terceiros.
Usar Express.js pode ajudar desenvolvedores a construir rapidamente aplicações web de alto desempenho e APIs.
Criando e Executando um Projeto Express.js com o ServBay
Neste artigo, usaremos o ambiente Node.js fornecido pelo ServBay para criar e executar um projeto Express.js. Utilizaremos a funcionalidade 'host' do ServBay para configurar o servidor web e aceder ao projeto através de proxy reverso.
Criando um Projeto Express.js
Iniciando o Projeto
Primeiro, certifique-se de que já instalou o ambiente Node.js fornecido pelo ServBay. Depois, use o seguinte comando para iniciar um novo projeto Express.js:
bashcd /Applications/ServBay/www npx express-generator servbay-express-app
1
2Instalando Dependências
Entre no diretório do projeto e instale as dependências:
bashcd servbay-express-app npm install
1
2
Modificando o Conteúdo de Saída do Projeto Express.js
Modificando o Arquivo
routes/index.js
Abra o arquivo
routes/index.js
e modifique o conteúdo para que a página web exiba "Hello ServBay!":javascriptvar express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.send('Hello ServBay!'); }); module.exports = router;
1
2
3
4
5
6
7
8
9
Entrando no Modo de Desenvolvimento
Executando o Servidor de Desenvolvimento
Inicie o servidor de desenvolvimento especificando a porta (por exemplo: 8585):
bashPORT=8585 DEBUG=servbay-express-app:* npm start
1Isto iniciará um servidor de desenvolvimento localmente e exporá a porta 8585.
Configurando o Proxy Reverso do Host no ServBay
Use a funcionalidade 'host' do ServBay para acessar o servidor de desenvolvimento através de proxy reverso. Nas configurações de 'host' do ServBay, adicione um novo proxy reverso:
- Nome:
Meu primeiro site de desenvolvimento Express.js
- Domínio:
servbay-express-test.dev
- Tipo de Host:
Proxy Reverso
- IP:
127.0.0.1
- Porta:
8585
Veja os passos detalhados para configurar em adicionando um site de desenvolvimento em Node.js.
- Nome:
Acessando o Modo de Desenvolvimento
Abra o navegador e acesse
https://servbay-express-test.dev
para visualizar o projeto em tempo real. Como o ServBay suporta nomes de domínio personalizados e certificados SSL gratuitos, você usufruirá de maior segurança.
Deploy da Versão de Produção
Preparando o Ambiente de Produção
Certifique-se de que seu projeto pode ser executado normalmente no ambiente de produção. Geralmente, projetos Express.js não necessitam de etapas de build específicas, mas você pode precisar configurar algumas variáveis de ambiente ou outras configurações.
Executando o Servidor de Produção
Inicie o servidor de produção especificando a porta (por exemplo: 8586):
bashPORT=8586 NODE_ENV=production npm start
1Configurando o Proxy Reverso do Host no ServBay
Use a funcionalidade 'host' do ServBay para acessar o servidor de produção através de proxy reverso. Nas configurações de 'host' do ServBay, adicione um novo proxy reverso:
- Nome:
Meu primeiro site de produção Express.js
- Domínio:
servbay-express-test.prod
- Tipo de Host:
Proxy Reverso
- IP:
127.0.0.1
- Porta:
8586
- Nome:
Acessando o Modo de Produção
Abra o navegador e acesse
https://servbay-express-test.prod
para visualizar a versão de produção. Com o domínio personalizado e o certificado SSL gratuito do ServBay, seu site terá maior segurança e credibilidade.
Conexão ao Banco de Dados
O ServBay oferece suporte a bancos de dados Redis, MariaDB, PostgreSQL e MongoDB. Abaixo estão exemplos de como conectar a esses bancos.
Conectando ao MongoDB
Instale o
mongoose
:bashnpm install mongoose
1Em seguida, inclua e conecte no projeto:
javascriptvar mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/servbay-express-app', { useNewUrlParser: true, useUnifiedTopology: true });
1
2
3Conectando ao Redis
Instale o
redis
:bashnpm install redis
1Em seguida, inclua e conecte no projeto:
javascriptvar redis = require('redis'); var client = redis.createClient(); client.on('error', function (err) { console.log('Error ' + err); });
1
2
3
4
5
6Conectando ao MariaDB
Instale o
mariadb
:bashnpm install mariadb
1Em seguida, inclua e conecte no projeto:
javascriptvar mariadb = require('mariadb'); var pool = mariadb.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'servbay_express_app' }); pool.getConnection() .then(conn => { console.log("Conectado ao MariaDB"); conn.release(); //libera para o pool }) .catch(err => { console.log("Não conectado devido ao erro: " + err); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Conectando ao PostgreSQL
Instale o
pg
:bashnpm install pg
1Em seguida, inclua e conecte no projeto:
javascriptvar { Pool } = require('pg'); var pool = new Pool({ user: 'user', host: 'localhost', database: 'servbay_express_app', password: 'password', port: 5432, }); pool.connect((err, client, done) => { if (err) throw err; console.log('Conectado ao PostgreSQL'); done(); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Seguindo os passos acima, você terá criado e executado com sucesso um projeto Express.js, usando as funcionalidades fornecidas pelo ServBay para gerenciar e acessar seu projeto, além de se conectar a vários bancos de dados.