Ember助手可以用作实用程序吗?

时间:2019-02-22 10:40:47

标签: javascript ember.js ember-cli

我正在浏览一个使用Ember-CLI 1.13的旧项目的代码库,发现了一些奇怪的东西。

有很多帮助器,它们不在模板内部直接使用,而是通过导入到组件js文件中使用的。一个这样的例子是

Distrib 5.7

在组件js文件中,我可以看到上面的助手正在导入和使用。

//..helpers/my-helper.js

export function func1 (param1, param2) {
   //return something;
}

export function func2 (param1, param2) {
   //return something;
}

export function func3 (param1, param2) {
   //return something;
}

export default Ember.Helper.helper(func1);
export default Ember.Helper.helper(func2);
export default Ember.Helper.helper(func3);

我有几个问题:

  1. 在这种情况下,我们是否应该创建实用程序而不是帮助程序?
  2. 在单个帮助文件中包含许多功能可以吗?
  3. 是否需要在组件文件中导入?

1 个答案:

答案 0 :(得分:3)

  

在这种情况下,我们是否应该创建实用程序而不是帮助程序?

是的,但是有时候程序员会很懒惰或者时间很受限制(即使将功能转移到实用程序看起来并不耗时)

  

可以在单个帮助文件中包含许多功能吗?

是的,可以在文件中包含许多功能并导出它们,但是据我所知,只有default导出才能在模板中用作帮助程序。而且我99%的肯定没有默认导出将导致构建错误。

  

是否需要在组件文件中导入?

如果这些导入用于组件的 code 中,则它们是必需的。否则,不会。