Автор оригинала: igor souza martins.
O EJS é UMA Engine de Visualização, Com Ele Conseguimos de Umma Maneira Fácil e Smples Transportar Dados Do Back-End Para o Front-End, Passicamente ConseguiMos Utilizar Códigos EM JavaScript No HTML De Nossas Páginas.
O que vamos construir?
Vamos Crar Uma Pequena Apperação que Utilizará o EJS PARA TRANSPORTARMOS DADOS PARA O NOSSO Front-End E Também Veremos UMA Forma de ReaProveiatar Algumas Partes Do Nosso HTML.
Para Isso Vamos Precisar Da Seguinte Estrutura de Arquivos:
- public/ -- css/ --- styles.css - views/ -- layout.ejs --- pages/ ---- about.ejs ---- contact.ejs ---- home.ejs - package.json - server.js
Mão Na Massa!
Инстальдо О.С. Патос делают NPM Отказ
Abra O Arquivo Package.json E DEIXE DESSA FORMA:
{}
Agora Нет консоли SEU Digite NPM Install Express EJS Express-EJS-Mayouts Faker Body-Parser Nademon --save
Отказ DESSA FORMA O NPM VAI BAIXAR OS POCOTES E Já Inserir ELES NAS Зависимости DO NOSSO Projeto, Doctro Do Package.json Отказ
выражать | É o Pacote Mais Smples Para Criarmos As App Rotas Do Nosso |
EJS. | É o Picote Repestavel Pela Engine EJS |
Экспресс-EJS-макеты | USAMOS ELE PARA CONSSUGURIMOS DADOS PARA NOSSAS PáIGNAS EJS PELO EXPRESS. |
уныние | USAMOS ELE PARA GERAR ALGUMAS Informações aleatórias como nome, электронная почта, Images. (Útil Para Testes) |
узел | Pacote Usado Para Subir Sua Applicação COM Vantagem de que A CADA VEZ Que alterar OU CRIAR ELM ARQUIVO JS ELE REINICIA. |
Após astalação dos pacotes seu arquivo package.json ficará da seguinte forma:
{ "dependencies": { "body-parser": "^1.18.2", "ejs": "^2.5.7", "express": "^4.16.2", "express-ejs-layouts": "^2.3.1", "faker": "^4.1.0", "nodemon": "^1.12.1" } }
Variáveis Que Vamos Utilizar
Нет IICIO DO SEU ARQUIVO server.js Adicione:
const express = require('express') const faker = require('faker') const bodyParser = require('body-parser') const expressLayouts = require('express-ejs-layouts') const app = express() const port = process.env.PORT || 5000
Configurando O Nosso Server
Logo após adicionarmos as variveis, vamos configura-lás:
app.set('view engine', 'ejs') // Setamos que nossa engine será o ejs app.use(expressLayouts) // Definimos que vamos utilizar o express-ejs-layouts na nossa aplicação app.use(bodyParser.urlencoded()) // Com essa configuração, vamos conseguir parsear o corpo das requisições app.use(express.static(__dirname + '/public')) app.listen(port, () => { console.log(`A mágica acontece em http://localhost:${port}`) })
Криандо как ротас
Вамос Утилизар как Seguintes Rotas
- ПОЛУЧАТЬ/
app.get('/', (req, res) => { res.render('pages/home') })
Aqui O Сервер Rebile UMA Requisição do клиент E devulle o Arquivo home.ejs , COM ISSO O EJS Renderiza EM Forma de Uma Página HTML.
- Получить/о
app.get('/about', (req, res) => { var users = [{ name: faker.name.findName(), email: faker.internet.email(), avatar: 'http://placebear.com/300/300' }, { name: faker.name.findName(), email: faker.internet.email(), avatar: 'http://placebear.com/400/300' }, { name: faker.name.findName(), email: faker.internet.email(), avatar: 'http://placebear.com/500/300' }] res.render('pages/about', { usuarios: users }) })
O que o Сервер FAZ Aqui é Praticamente Mesma Coisa Que Foi Feita Na Rota передний, Porém Aqui, Devolvemos Para o клиент Алем Д.А. Пагина О, Ума Variável Чамада Усиариос.
- Получить/контакт
app.get('/contact', (req, res) => { res.render('pages/contact') })
- Пост/контакт
app.post('/contact', (req, res) => { res.send('Obrigado por entrar em contato conosco, ' + req.body.name + '! Responderemos em breve!') })
Aqui O Сервер Recepciona o Conteúdo da requisiçãã revolve uma mensagem para o клиент APROVEITANDO O NOME DA PESSOA QUE ENVIOU MENSAGEM PARA NOS. Essa Mensagem Que VEM No Corpo Da Requisição, Só és ésíval ser Manipulada Utilizando O Picote парсер
Нет Final o nosso arquivo server.js ficará issim:
const express = require('express') const faker = require('faker') const bodyParser = require('body-parser') const expressLayouts = require('express-ejs-layouts') const app = express() const port = process.env.PORT || 5000 app.set('view engine', 'ejs') // Setamos que nossa engine será o ejs app.use(expressLayouts) // Definimos que vamos utilizar o express-ejs-layouts na nossa aplicação app.use(bodyParser.urlencoded()) // Com essa configuração, vamos conseguir parsear o corpo das requisições app.use(express.static(__dirname + '/public')) app.listen(port, () => { console.log(`A mágica acontece em http://localhost:${port}`) }) app.get('/', (req, res) => { res.render('pages/home') }) app.get('/about', (req, res) => { var users = [{ name: faker.name.findName(), email: faker.internet.email(), avatar: 'http://placebear.com/300/300' }, { name: faker.name.findName(), email: faker.internet.email(), avatar: 'http://placebear.com/400/300' }, { name: faker.name.findName(), email: faker.internet.email(), avatar: 'http://placebear.com/500/300' }] res.render('pages/about', { usuarios: users }) }) app.get('/contact', (req, res) => { res.render('pages/contact') }) app.post('/contact', (req, res) => { res.send('Obrigado por entrar em contato conosco, ' + req.body.name + '! Responderemos em breve!') })
Arquivos ejs.
AGORA VAMOS VER COMO VãAO FICAR NOSSAS PáIGNAS E TAMBEM ENTEDER COMO TRABALHAR COM ELAS.
- Layout.ejs.
Utilizando o EJS <%- body %>
APARENTEMEDE É APENAS UMA PAGINA HTML, PORÉM QUANDO INICIAMOS NOSSO Applicativo E requisitamos alguma rota que devolve o arquivo ejs, o Экспресс-EJS-макеты Procura O Arquivo Layout.ejs Doctro da Pasta /Просмотры , Então Onde Está O Código <% - Body%>
Será Carregado O Conteúdo de Outro Arquivo EJS.
- Home.ejs.
<%- contentFor('body') %>Página Inicial
Нет Arquivo Layout.ejs Vimos Que o Código <% - Body%>
Seria Substituído Por Outro Assim Que A Página Fosse Renderizada, Agora Нет Arquivo home.ejs Темос <% - Contentfor («Тело»)%>
équi que ocorre ligação entre ous dois arquivos, нет Лугара де <% - Body%>
Ficará Essa Div.
- О.Эйс
<%- contentFor('body') %>O Time!
<% for (usuario of usuarios){%><% } %><%= usuario.name %>
O que fazemos aqui érenderizar para o клиент todos os nossos usuários, isso és usível pois fizemos um loop com o EJS , Para Capturarmos o Valor de Cada Usuário que exhinee na variável Усиариос
que rota /О ДЕВЛЮ.
- contact.ejs.
Entre em contato!
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Несса Página USAMOS APENAS O HTML PARA ENVIGHT UM Пост
Para Rota /контакт Отказ
Вывод … OPA!
Quase Me Esqueci 😅
Нет Arquivo /public/csss/styles.csss Информ o Seguinte:
body{ font-size: 16px; line-height: 1.5; } header .navbar{ border-radius: 0; margin: 0; } main{ min-height: 500px; padding: 50px 0; } footer{ padding: 30px 0; font-size: 14px; color: #BBB; background: #222; text-align: center; }
Вывод
Agora Sim Hahaha
ESTE Mini Tuctorial Tem A Intenção de MOSTRAR PARA VOCê o Básico Do Que o Ejs Pode Fazer, MAS Partir Desse Ponto, o Céu 🚀 é Ограничить!
O Projeto Complete está no Гит Говорим Também Poore Clonar Ele Para Sua Maquina Através do Git Clone https://github.com/nulldreams/ejs.git.git.
Caso Queira Algum Tutorial Esperifico Deixe UM Comentário, Valeu Pessoal!