2014-01-11 74 views
5

好,凡訪問和存儲EJS助手 - SailsJS

SailJS的默認templateing引擎EJS嵌入的JavaScript

,但我似乎無法找到,我們可以創造我們自己的地方幫手和東西。

所以,你知道在哪裏訪問&商店EJS助手/東西?

回答

2

完成此操作的一種方法是通過中間件。類似於:

module.exports.routes = { 

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

我還建議在更復雜的方法中提出功能請求:https://trello.com/b/cGzNVE0b/sails-js-feature-requests

3

你應該在名稱anyname.js ./config中創建文件,寫一些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 

問候,

映阮

6

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

配置/ http.js

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

配置/引導。 js

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

在一些觀點......

的意見/ test.ejs

<%=: created | formatDate %> 
+1

的作品就像一個魅力 '帆v0.11.2' –