Pug
Extensões suportadas: jade
, pug
Preparar o Pug é fácil. Você pode ter qualquer estrutura de arquivo, aqui é fornecido vários exemplos simples como um ponto de referência.
Exemplo 1 - Apenas index.pug
Vamos assumir esta estrutura de arquivos:
.
├── package.json
└── src
└── index.pug
Nós podemos ter isso em execução utilizando este comando do Parcel: parcel src/index.pug
.
Exemplo 2 - index.pug, index.js and style.css
Vamos assumir esta estrutura de arquivos:
.
├── package.json
└── src
├── index.js
├── index.pug
└── style.css
Dentro do index.pug, apenas carregue as folhas de estilos e o JS como de costume.
// index.pug
doctype html
html(lang="")
head
// ...
link(rel="stylesheet", href="index.css")
body
h1 Hello
script(src="index.js")
Se estiver utilizando Stylys, Sass ou LESS, você pode executar da mesma forma. Se preferir, você pode importar seu arquivo de estilo diretamente em seu arquivo JS.
Nós podemos ter isso em execução utilizando este comando do Parcel: parcel src/index.pug
.
Exemplo 3 - Pug with locals
Vamos assumir esta estrutura de arquivos:
.
├── package.json
└── src
├── index.pug
└── pug.config.js
Nós precisamos exportar um objeto locals
de um arquivo pug.config.js
. O arquivo pug.config.js
precisa estar no diretório do arquivo index.pug
OU, em um diretório contendndo o arquivo package.json
. O arquivo pug.config.js
não precisa ser importado dentro de um arquivo js explicitamente. Esta É única maneira de ter um objeto locals
disponível para seus templates Pug.
// pug.config.js
module.exports = {
locals: {
hello: "world"
}
};
// index.pug
doctype html
html(lang="")
head
// ...
body
h1 #{hello}
Nós podemos ter isso em execução utilizando este comando do Parcel: parcel src/index.pug
.
Cancelar e executar novamente o pacote após a atualização de objetos locais
Você não será capaz de ver as alterações feitas no seu objeto locals
em tempo real. Se você atualizar o seu objeto locals
, você precisará cancelar o processo do Parcel em seu terminal e executar novamente parcel src/index.pug
.
Veja nossos erros silenciosos
Além disso, entenda que se você usar essa instalação locals, você não receberá um erro se você usar uma propriedade que não existe para interpolação no seu Pug. Assim, se escrevemos h1 #{thing}
e não havia nenhuma propriedade thing
em locals, então o Parcel não vai falhar, nem relatar um erro. Você só será deixado com um resultado vazio no navegador. Portanto, tenha cuidado para obter esse direito, ou você pode não saber que um elemento interpolado não está funcionando.
Apenas três opções de nomeação de arquivo
Você pode usar um arquivo .pugrc
ou .pugrc.js
em vez de pug.config.js
. Mas estas são as únicas 3 variações que funcionarão para a criação de locals.
Não é possível usar instruções de importação no arquivo pug.config.js
Se você quiser importar outros arquivos para o arquivo pug.config.js
você deve usar instruções require.
Isto irá funcionar:
// pug.config.js
const data = require("./data.js");
module.exports = {
locals: {
d: data
}
};
Isto NÃO irá funcionar:
import data from "./data.js";
module.exports = {
locals: {
d: data
}
};
Adicionando um script ao package.json
"scripts": {
"dev": "parcel src/index.pug",
"devopen": "parcel src/index.pug --open 'google chrome'",
"build": "parcel build src/index.pug"
},
Nós podemos executar npm run dev
ou npm run devopen
para ter o projeto aberto no navegador. Nós podemos construir o projeto para produção com npm run build
.
Ajude-nos a melhorar esta documentação
Se alguma coisa estiver faltando ou não estiver inteiramente clara, por favor crie uma issue no repositório deste site ou edite esta página.