Eu tentei essa alteração simples a partir da semente e criei os arquivos .html correspondentes (por exemplo, index.html).
//app.set('view engine', 'jade');
app.set('view engine', 'html');
e esse arquivo permaneceu o mesmo:
exports.index = function(req, res){
res.render('index');
};
mas enquanto corro eu recebo
Erro 500: Não foi possível encontrar o módulo 'html'
Minha única opção é usar 'ejs'? Minha intenção era usar HTML simples em conjunto com o AngularJS.
Respostas:
As respostas no outro link funcionarão, mas, para fornecer HTML, não há necessidade de usar um mecanismo de exibição, a menos que você queira configurar o roteamento descolado. Em vez disso, basta usar o middleware estático:
fonte
res.render()
funcionará mais. Em vez disso, coloque seus arquivos HTML não processadospublic
e deixe o middleware estático lidar com a veiculação direta dos arquivos. Se você precisar de rotas mais sofisticadas do que isso, provavelmente poderá configurar seu próprio mecanismo de exibição HTML.Para fazer com que o mecanismo de renderização aceite html em vez de jade, siga as etapas a seguir;
Instale consolidar e gire para o seu diretório.
adicione as seguintes linhas ao seu arquivo app.js
adicione seus modelos de visualização como .html na pasta "visualizações". Reinicie o servidor do nó e inicie o aplicativo no navegador.
Embora isso renderize html sem nenhum problema, eu recomendaria o uso do JADE aprendendo-o. O Jade é um incrível mecanismo de modelos, e aprender isso ajudará você a obter um melhor design e escalabilidade.
fonte
No seu apps.js basta adicionar
Agora você pode usar o mecanismo de visualização ejs, mantendo seus arquivos de visualização como .html
fonte: http://www.makebetterthings.com/node-js/how-to-use-html-with-express-node-js/
Você precisa instalar estes dois pacotes:
E então importe os pacotes necessários:
Dessa forma, você pode salvar suas visualizações como .html em vez de .ejs .
Bastante útil ao trabalhar com IDEs que suportam html, mas não reconhecem ejs.
fonte
tente isso para a sua configuração do servidor
suas funções de retorno de chamada para rotas serão parecidas com:
fonte
Nenhum mecanismo de exibição é necessário, se você deseja usar angular com um arquivo html simples e simples. Aqui está como fazer: No seu
route.js
arquivo:fonte
Eu recomendo usar https://www.npmjs.com/package/express-es6-template-engine - mecanismo de gabarito extremamente leve e extremamente rápido. O nome é um pouco enganador, pois também pode funcionar sem expressjs.
Os princípios básicos necessários para integrar
express-es6-template-engine
seu aplicativo são bastante simples e bastante simples de implementar:index.html
arquivo localizado dentro do diretório 'views':fonte
A resposta é muito simples. Você deve usar o app.engine ('html') para renderizar * .html Pages. tente isso. Ele deve resolver o problema.
o arquivo .html funcionará
fonte
Os arquivos HTML podem ser renderizados usando o mecanismo ejs:
E verifique se seus arquivos em "/ views" estão nomeados com ".ejs".
Por exemplo "index.ejs".
fonte
Comente o middleware para html ie
Em vez disso, use:
fonte
html não é um mecanismo de exibição, mas o ejs oferece a possibilidade de escrever código html nele
fonte
para servidor de páginas html através de roteamento, eu fiz isso.
e renomeei meus arquivos .html para arquivos .hbs - o guidão suporta HTML simples
fonte
Para fazer com que o mecanismo de renderização aceite html em vez de jade, siga as etapas a seguir;
Isso deve funcionar
fonte
Experimente esta solução simples, funcionou para mim
fonte
Instalar modelo ejs
npm install ejs --save
Consulte ejs em app.js
Crie um modelo ejs em visualizações como views / indes.ejs e use o ejs tempalte no roteador
fonte
Renderize o modelo html com a ajuda do swig.
fonte
Arquivos HTML não precisam ser renderizados.
o que um mecanismo de renderização faz é transformar um arquivo que não é um arquivo HTML em um arquivo HTML.
para enviar um arquivo HTML, basta:
pode ser necessário usar
__dirname+"/index.html"
o Express para saber o caminho exato.fonte