在哪里访问和存储EJS助手 – SailsJS
好,
SailJS的默认模板引擎是EJS ( embedded式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上提供更为集成的方法。