-
INDEX
-
CONTEÚDO
-
Introdução
- Objetivo:
- O projeto ejs (Embedded JavaScript templates) é usado para criar página html estática a partir de um modelo de extensão .ejs.
- Os modelos recebem varáveis para serem inseridas dentro das tags.
- Veja mais...
[🔙]
- Pre-requisitos:
- Nodejs
- javascript
[🔙]
- Benefícios:
- Simplificar a construção de páginas html através de modelos pre-fabricados.
[🔙]
- Objetivo:
-
Descrição
-
Tags do modelo:
- <% Tag 'Scriptlet', para fluxo de controle, sem saída
- <%_ Tag Scriptlet 'Whitespace Slurping', remove todos os espaços em branco antes dela
- <%= Exibe o valor no modelo (HTML com escape)
- <%- Exibe o valor sem escape no modelo
- <%# Tag de comentário, sem execução, sem saída
- <%% Produz um literal '<%'
- %> Tag de finalização simples
- -%> Tag do modo de corte ('nova linha slurp'), corta após a nova linha
- _%> Tag de finalização 'Whitespace Slurping', remove todos os espaços em branco após ela.
-
Include do modelo
-
As inclusões são relativas ao modelo com a tag include. (Isso requer a opção 'nome do arquivo'). Por exemplo, se você tiver "./views/users.ejs" e "./views/user/show.ejs", você usaria <%- include('user/show'); %>.
-
Você provavelmente vai querer usar a tag de saída bruta ( <%-) com sua inclusão para evitar o escape duplo da saída HTML.
<!-- Código ejs --> <ul> <% users.forEach(function(user){ %> <%- include('user/show', {user: user}); %> <% }); %> </ul>
-
-
O EJS é fornecido com uma interface de linha de comando (CLI) com recursos completos. As opções são semelhantes às usadas no código JavaScript:
-
cache As funções compiladas são armazenadas em cache, requer filename
-
-o / --output-file FILE Grave a saída renderizada em FILE em vez de stdout.
-
-f / --data-file FILE Deve ser formatado em JSON. Use a entrada analisada de FILE como dados para renderização.
-
-i / --data-input STRING Deve ser formatado em JSON e codificado por URI. Use a entrada analisada de STRING como dados para renderização.
-
-m / --delimiter CHARACTER Use CHARACTER com colchetes angulares para abrir / fechar (o padrão é%).
-
-p / --open-delimiter CHARACTER Use CHARACTER em vez do colchete angular esquerdo para abrir.
-
-c / --close-delimiter CHARACTER Use CHARACTER em vez de colchete em ângulo reto para fechar.
-
-s / --strict Quando definido como
true
, a função gerada está em modo estrito -
-n / --no-with Use o objeto 'locals' para vars ao invés de usar
with
(implica --strict). -
-l / --locals-name Nome a ser usado para o objeto que armazena variáveis locais quando não estiver usando
with
. -
-w / --rm-whitespace Remova todos os espaços em branco seguros para remover, incluindo espaços em branco à esquerda e à direita.
-
-d / --debug Saída gerada do corpo da função
-
-h / --help Exibir esta mensagem de ajuda.
-
-V/v / --version Mostra a versão EJS.
-
Exemplo de execução do ejs no prompt de comandos:
ejs -p [ -c ] ./template_file.ejs -o ./output.html ejs ./test/fixtures/user.ejs name=Lerxst ejs -n -l _ ./some_template.ejs -f ./data_file.json
-
-
[🔙] -
[🔙]
-
-
Exemplo de código nodejs usando o Mecanismos de Modelo JavaScript EJS
- Exemplo de como criar projeto ejs, desde a criação do projeto, instalação dos pacotes ejs, express, das pastas e arquivos .ejs e como se relaciona usando includes
- server.js
- Esse projeto foi criado baseado no documento:
- Exemplo de como criar projeto ejs, desde a criação do projeto, instalação dos pacotes ejs, express, das pastas e arquivos .ejs e como se relaciona usando includes e variáveis.
- server.js
- Esse projeto foi criado baseado no documento:
- Exemplo de como criar projeto ejs, desde a criação do projeto, instalação dos pacotes ejs, express, das pastas e arquivos .ejs e como se relaciona usando includes
-
ejs-cli recebe um arquivo .ejs e retorna uma arquivo html
- Parâmetros de execução:
-
-h, --help show this help. [boolean] [default: false]
ejs-cli -h
-
-f, --file = forneça o caminho do arquivo de modelo ejs [string]
-
-b, --base-dir = diretório base ao qual -f é relativo. [default: "./"]
# renderiza os arquivos *.ejs em src/ e envia os arquivos compilados para dest/ ejs-cli --base-dir src/ "*.ejs" --out dest/ # renderiza os arquivos *.ejs em src/ e seus subdiretórios e envia arquivos compilados para dest/ ejs-cli --base-dir src/ "**/*.ejs" --out dest/
-
-e, --exclude = nomes de arquivos/diretórios a serem excluídos [espaço separado se mais de um]
# exclui qualquer diretório "parcial" da renderização ejs-cli --base-dir src/ "**/*.ejs" --exclude "partials/" --out dest/
-
-o, --out = Gerar o arquivo .html baseado no arquivo .ejs
# renderiza os arquivos *.ejs no diretório de trabalho atual. ejs-cli "*.ejs" --out .
-
-O, --options = variáveis de opção (caminho do arquivo ou string JSON).
# renderiza os arquivos *.ejs no diretório de trabalho atual e envia os arquivos compilados para dest/ ejs-cli "*.ejs" --out dest/ --options options.json
-
- Parâmetros de execução:
-
REFERÊNCIAS
- ejs
- Como usar o EJS para modelar seu aplicativo de nodejs
- EJS Syntax Reference
- Manual ejs
- How To Use EJS to Template Your Node Application
- Gerando HTML estáticos a partir de templates – EJS
- EJS Syntax Reference
- Modelos de JavaScript incorporados versão tj 1.0
- ejs-loader para webpack
- Modelos de JavaScript incorporados versão mde 2.0
- Utilizando template engine EJS com Node.js
- Curso de NodeJS - Renderizando EJS/HTML em um projeto Nodejs - #02
- Comparing JavaScript Templating Engines: Jade, Mustache, Dust, EJS and More
- README.md
[🔙]
-
HISTÓRICO
-
08/06/2021
- ;
-
08/06/2021
- Criar este documento baseado no modelo02.md ;
- Escrever tópico Objetivos;
- Escrever tópico Pre-requisitos
- Escrever tópico Benefícios
- Escrever tópico Referências
[🔙]
-
08/06/2021
- Escrever tópico Descrição
- Escrever tópico Exemplos
- Escrever tópico Conteúdo 01
- Atualizar o histórico deste documento.
- Testar este documento depois após uma semana de concluído.
[🔙]
-
-