Well,
SailJS\'s default templateing engine is EJS (Embedded Javascript)
But I cannot seem to find the place where we can create ou
solved: 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);
At some view...
views/test.ejs
<%=: created | formatDate %>
You should create file in ./config with name anyname.js and write some EJS helper like these code:
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 = '?>';
Then in layout, view, it should be call
<td><?=: post.createdAt | formatDate ?></td>
Hope that help!
Update
For some reasons, you guys have to install module sails locally to make sense. So just paste to your console:
npm i sails
regards,
Anh Nguyen
One way to accomplish this is through middleware. Something like:
module.exports.routes = {
'*': function mixinForm(req, res, next) {
// <%= form() %>
res.locals.form = function () {
return '<form action=""></form>';
};
next();
},
}
I would also suggest making a feature request for a more integrated approach at: https://trello.com/b/cGzNVE0b/sails-js-feature-requests.