ember cli在单个文件中使用多个defs并破坏命名约定

时间:2015-02-05 20:02:20

标签: ember.js ember-cli

是否存在将许多定义放在单个帮助文件中的方法(棘手,愚蠢或其他不赞成的方式)......

例如,我有以下助手,似乎不保证每个文件。

Ember.Handlebars.helper('format-markdown', function(input) {
  return new Handlebars.SafeString(showdown.makeHtml(input));
});
Ember.Handlebars.helper('format-fromnow', function(date) {
  return moment(date).fromNow();
});
Ember.Handlebars.helper('format-long', function(date) {
  return moment(date).format('MMMM Do YYYY, h:mm:ss a');
});
Ember.Handlebars.helper('format-currency', function(mynumber) {
  return numeral(mynumber).format('$0,0.00');
});

从imer portj移植,其中所有内容都被归为极少的文件。

ACH。我在文档中找到了它的一个例子。 但不清楚进口的去向。

 1 // helpers/custom-helpers.js
 2 var customHelpers = function() {
 3   Ember.Test.registerHelper('myGreatHelper', function (app) {
 4     //do awesome test stuff
 5   });
 6 
 7   Ember.Test.registerAsyncHelper('myGreatAsyncHelper', function (app) {
 8     //do awesome test stuff
 9   });
10 }();
11 
12 export default customHelpers;

是startApp的一个特殊入口点。这似乎不起作用。     1 // helpers / start-app.js     2从'./custom-helpers'导入customHelpers;     3     4 export default function startApp(attrs){     5 //...

1 个答案:

答案 0 :(得分:0)

您可以像以前一样在helpers目录之外的文件中注册帮助程序。

他们可以注册为:

Em.Handlebars.registerBoundHelper('make-plural', function(word) {...})

[请注意,所有助手现在都应使用虚线名称作为手柄处理的效率。]

我将帮助者放在app/utils的文件中,并从顶部的app.js导入。这样可以保持app.js干净,但是将所有小帮助者放在一个容易管理的合理位置的单个文件中。

按惯例自动注册帮助程序只是您可以使用或忽略的EmberCLI的一个功能。