2014-01-11 8 views
5

Nun,Wo zuzugreifen und zu speichern EJS Helfer - SailsJS

SailJS die Standard templateing Motor ist EJS (Embedded Javascript)

Aber ich kann nicht an die Stelle zu finden scheinen, wo wir unsere eigene erstellen Helfer und Zeug.

Also, wissen Sie, wo Sie zugreifen können & Geschäft EJS Helfer/Zeug?

Antwort

2

Eine Möglichkeit, dies zu erreichen, ist durch Middleware. Etwas wie:

module.exports.routes = { 

    '*': function mixinForm(req, res, next) { 
    // <%= form() %> 
    res.locals.form = function() { 
     return '<form action=""></form>'; 
    }; 
    next(); 
    }, 
} 

würde ich vorschlagen, eine Feature-Anfrage für einen stärker integrierten Ansatz auf,: https://trello.com/b/cGzNVE0b/sails-js-feature-requests.

3

Sie sollten Datei in ./config mit Namen anyname.js erstellen und einige EJS Helfer wie dieser Code schreiben:

var moment = require('moment'); 
var ejs = require('ejs'); 

ejs.filters.fromNow = function(date){ 
    return moment(date).fromNow() 
} 
ejs.filters.formatDate = function(date){ 
    return moment(date).format('MMM Do YYYY'); 
} 
ejs.open = '<?'; 
ejs.close = '?>'; 

dann in dem Layout, Ansicht, es sollte

<td><?=: post.createdAt | formatDate ?></td> 

nennen wird Hoffe, dass Hilfe!

aktualisieren

Aus irgendwelchen Gründen haben Sie Jungs Modul Segel lokal installieren Sinn zu machen. So fügen Sie nur an die Konsole:

npm i sails 

Grüßen

Anh Nguyen

6

gelöst: https://github.com/balderdashy/sails/issues/2162#issuecomment-55866731

config/http.js

module.exports.http = { 
    // ... 
    locals: { 
    filters: { 
     formatDate: function(date) { } 
    } 
    } 
} 

config/Bootstrap. js

_.extend(sails.hooks.http.app.locals, sails.config.http.locals); 

Irgend Blick ...

views/test.ejs

<%=: created | formatDate %> 
+1

wirkt wie ein Zauber 'Segel v0.11.2' –