在哪里访问和存储EJS助手 – SailsJS

好,

SailJS的默认模板引擎是EJSembedded式Javascript

但我似乎无法find我们可以创造自己的帮手和东西的地方。

那么,你知道在哪里访问和存储EJS助手/东西吗?

解决: https : //github.com/balderdashy/sails/issues/2162#issuecomment-55866731

configuration/ http.js

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

configuration/ bootstrap.js

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

在一些看法…

意见/ test.ejs

 <%=: created | formatDate %> 

您应该使用名称anyname.js在./config中创build文件,并像这些代码一样编写一些EJS帮助程序:

 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 = '?>'; 

然后在布局中查看,应该是调用

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

希望有所帮助!

更新

出于某些原因,你们必须在本地安装模块风帆才有意义。 所以只需粘贴到您的控制台:

 npm i sails 

问候,

Anh Nguyen

一种方法是通过中间件完成。 就像是:

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

我还build议在https://trello.com/b/cGzNVE0b/sails-js-feature-requests上提供更为集成的方法&#x3002;