Cambia vele.js Viste EJS per utilizzare le estensioni .html invece di estensioni .ejs?

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

  •  21-12-2019
  •  | 
  •  

Domanda

È possibile configurare le app Veale.js per utilizzare estensioni .html anziché .ejs (ma ancora utilizzare ejs view engine)?

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

Mi piacerebbe cambiare le estensioni su .html ma tenere tutto il resto che funziona allo stesso modo.

IE: ora avrei generatori ./views/home/index.html e ./views/layout.html e la home page sarà ancora iniettata nella pagina Layout, come da normale.

Come posso configurare questo per favore?

È stato utile?

Soluzione

nel tuo config/views.js:

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

Sembra che il futuro supporto per questa funzione non sia garantito, dal momento che lo hanno rimosso da Documenti, quindi utilizzare con cautela.

Altri suggerimenti

Un altro approccio

Le vele forniscono i modelli EJS per impostazione predefinita.Per sovrascrivere questo e utilizzare i file .html, ecco una soluzione semplice.Nell'app per le vele, vai a config / rottes.js.Vedrai il seguente codice 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.                                  *
 *                                                                          *
 ***************************************************************************/

};
.

Rimuovere il percorso verso '/' come mostrato di seguito.Tienilo vuoto

Nuove rotte.js sarà simile a

module.exports.routes = {

   //Remove '/' :)

};
.

Okay !!!Ora è finito Puoi usare i tuoi file HTML nell'app per le vele.Metti il tuo indice.html nella cartella Asset.Le vele ora caricheranno le viste da qui :)

nelle ultime vele.js 0.11, anche questo è valido:

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

Per verificare come lo fanno, in /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
    };
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top