DEV Community

Gustavo Garcia Pereira
Gustavo Garcia Pereira

Posted on • Edited on

Server com node: serverjs

Servidor Simples com JavaScript e server.js

Neste post, mergulharemos no mundo da programação para entender como criar e gerenciar servidores, uma habilidade crucial para qualquer desenvolvedor que busca aprimorar suas capacidades. Compartilharei minha experiência com server.js, uma ferramenta intuitiva e eficiente para configurar servidores e criar APIs de maneira simples e rápida. Vou guiá-lo, passo a passo, mostrando como configurar, instalar e criar rotas, além de oferecer dicas valiosas sobre o uso de templates com Pug.

Motivação

O objetivo é consolidar meu conhecimento e apresentar uma forma simplificada de criar uma API.

Começando

Primeiro, instale o server.js:

bash
npm install server
Enter fullscreen mode Exit fullscreen mode

Inclua a seguinte dependência em seu arquivo de configuração:

"dependencies": {
    "server": "^1.0.34"
  }
Enter fullscreen mode Exit fullscreen mode

Após a instalação, vamos criar nossa primeira rota. Comece importando o server e os métodos necessários:

const server = require('server');
const { get, post, error } = server.router;
Enter fullscreen mode Exit fullscreen mode

Configure o servidor com:

const CONFIG = {
    security:{csrf:false}, port:8080
}
Enter fullscreen mode Exit fullscreen mode

Inicie o servidor com a seguinte estrutura:

server(CONFIG, []) // Aqui, adicionaremos nossos métodos e rotas.
Enter fullscreen mode Exit fullscreen mode

Template Pug

Antes de prosseguir, vamos explorar os templates. Utilizo Pug para manipular templates de forma eficiente. Para mais informações, consulte a documentação do Pug. Para integrar o Pug ao seu projeto, utilize o método render:

const { render } = server.reply;
Enter fullscreen mode Exit fullscreen mode

Rotas

As rotas são definidas utilizando métodos como get e post. Aqui estão alguns exemplos:

get('/', () => {
    return render('index.pug', {nome: "meu nome"});
}),
get('/sobre', () => {
    return render('sobre.html');
}),
post('/', (ctx) => {
    console.log(ctx.data['nome'], ctx.data['idade']);
    return render('boas_vindas.pug', {nome: ctx.data['nome'], idade: ctx.data['idade']});
})
Enter fullscreen mode Exit fullscreen mode

O Pug permite passar objetos e realizar herança de templates, o que é extremamente útil e prático.

Código Completo

Aqui está o código completo do servidor com server.js:

const server = require('server')
const { get, post } = server.router
const { render } = server.reply
const CONFIG = {
    security:{csrf:false},port:8080
}

server(CONFIG, [
    // Adicione suas rotas aqui
])
Enter fullscreen mode Exit fullscreen mode

Para mais detalhes, confira a documentação do server.js e serverjs.io.

Vídeo Tutorial

Gravei um vídeo explicando tudo o que está neste artigo com mais detalhes. Assista ao vídeo aqui.

Top comments (0)