Mudança sails.js EJS vistas para usar .extensões html em vez de .ejs extensões?
-
21-12-2019 - |
Pergunta
É possível configurar sails.js aplicativos para usar .html
extensões, em vez de .ejs
(mas ainda uso o ejs view engine
)?
sails new app
cria ./views/home/index.ejs
e ./views/layout.ejs
.
Eu gostaria de mudar as extensões para .html
mas manter tudo funcionando da mesma forma.
ou seja:Eu gostaria de ter agora ./views/home/index.html
e ./views/layout.html
, e a home page seria ainda ser injetado no layout de página, como por normal.
Como posso configurar isso, por favor?
Solução
Em seu config/views.js
:
engine: {
ext: 'html',
fn: require('ejs').renderFile
},
Parece que o futuro de suporte para este recurso não está garantida, uma vez que eles removidos a partir deste documento, então use com cuidado.
Outras dicas
Outra abordagem
Velas fornece EJS de modelagem por padrão.Para substituí-lo e usar .arquivos html , aqui está uma solução simples.Em suas Velas App , vá para config/routes.js.Você vai ver o seguinte código lá
module.exports.routes = {
/***************************************************************************
* *
* Make the view located at `views/homepage.ejs` (or `views/homepage.jade`, *
* etc. depending on your default view engine) your home page. *
* *
* (Alternatively, remove this and add an `index.html` file in your *
* `assets` directory) *
* *
***************************************************************************/
'/': {
view: 'homepage'
}
/***************************************************************************
* *
* Custom routes here... *
* *
* If a request to a URL doesn't match any of the custom routes above, it *
* is matched against Sails route blueprints. See `config/blueprints.js` *
* for configuration options and examples. *
* *
***************************************************************************/
};
Remover a rota para '/' como mostrado abaixo .Deixar em branco
Novo routes.js vai olhar como
module.exports.routes = {
//Remove '/' :)
};
Tudo bem !!!agora, o que é feito, você pode usar seus arquivos de HTML em Velas app .Coloque o seu index.html em ativos pasta .Velas irá agora carregar pontos de vista aqui :)
No mais recente sails.js 0.11, este também é válida:
engine: 'ejs',
extension: 'html',
Para verificar como eles fazem isso, em /node_modules/sails/lib/hooks/views/configure.js:
if (typeof sails.config.views.engine === 'string') {
var viewExt = sails.config.views.extension || sails.config.views.engine;
sails.config.views.engine = {
name: sails.config.views.engine,
ext: viewExt
};
}