Mudança sails.js EJS vistas para usar .extensões html em vez de .ejs extensões?

StackOverflow https://stackoverflow.com//questions/21013180

  •  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?

Foi útil?

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
    };
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top