Cambio sails.js EJS vistas a su uso .html extensiones en lugar de .ejs extensiones?

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

  •  21-12-2019
  •  | 
  •  

Pregunta

Es posible configurar sails.js aplicaciones para utilizar .html anexos en lugar de .ejs (pero aún así el uso de la ejs view engine)?

sails new app crea ./views/home/index.ejs y ./views/layout.ejs.

Me gustaría cambiar las extensiones de .html pero mantener todo lo demás trabajando de la misma manera.

es decir:Ahora me han ./views/home/index.html y ./views/layout.html, y la página de inicio sería aún se inyecta en la página de diseño, como por normal.

¿Cómo puedo configurar esto, por favor?

¿Fue útil?

Solución

En su config/views.js:

engine: {
  ext: 'html',
  fn: require('ejs').renderFile
},

Parece sin embargo que el futuro soporte para esta característica no está garantizada, ya que se eliminó este desde google docs, a fin de utilizar con precaución.

Otros consejos

Otro enfoque

Velas proporciona EJS plantillas por defecto.Para anular este y uso .los archivos html , aquí es una solución simple.En sus Velas de la Aplicación , vaya a config/routes.js.Usted verá el siguiente código

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.                                  *
 *                                                                          *
 ***************************************************************************/

};

Retire la ruta '/' como se muestra a continuación .Deje el espacio en blanco

Nuevo routes.js se verá como

module.exports.routes = {

   //Remove '/' :)

};

Bien !!!ahora podrás utilizar los archivos HTML en las Velas de la aplicación .Pon tu index.html en la carpeta de activos .Las velas ahora la carga de las vistas desde aquí :)

En última sails.js 0.11, esto también es válido:

engine: 'ejs',
extension: 'html',

Para comprobar cómo hacer esto, en /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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top