Ember 助手可以用作实用程序吗?
Can Ember helpers be used as utilities?
我正在查看一个使用 Ember-CLI 1.13 的旧项目的代码库,发现了一些奇怪的东西。
有很多helper不是直接在模板内部使用,而是通过导入到组件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);
在组件 js 文件中,我可以看到正在导入和使用上述助手。
//../components/my-component.js
import Ember from "ember";
import { func1 } from '../helpers/my-helper';
import { func2 } from '../helpers/my-helper';
import { func3 } from '../helpers/my-helper';
我有几个问题:
- 在这种情况下,我们不应该创建一个实用程序而不是帮助程序吗?
- 在一个帮助文件中包含很多函数可以吗?
- 是否需要在组件文件中导入?
Shouldn't we create a utility instead of a helper in this case?
是的,但有时程序员很懒惰或时间非常有限(即使将功能移动到实用程序看起来并不像耗时的任务)
Is it ok to include many functions in a single helper file?
是的,在文件中有很多函数并导出它们很好,但据我所知,只有 default
导出可以作为助手在模板中使用。而且我 99% 确定没有默认导出会导致构建错误。
Are the imports inside the component file necessary?
如果这些导入在组件的 代码 中使用,那么它们是必需的。否则,没有。
我正在查看一个使用 Ember-CLI 1.13 的旧项目的代码库,发现了一些奇怪的东西。
有很多helper不是直接在模板内部使用,而是通过导入到组件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);
在组件 js 文件中,我可以看到正在导入和使用上述助手。
//../components/my-component.js
import Ember from "ember";
import { func1 } from '../helpers/my-helper';
import { func2 } from '../helpers/my-helper';
import { func3 } from '../helpers/my-helper';
我有几个问题:
- 在这种情况下,我们不应该创建一个实用程序而不是帮助程序吗?
- 在一个帮助文件中包含很多函数可以吗?
- 是否需要在组件文件中导入?
Shouldn't we create a utility instead of a helper in this case?
是的,但有时程序员很懒惰或时间非常有限(即使将功能移动到实用程序看起来并不像耗时的任务)
Is it ok to include many functions in a single helper file?
是的,在文件中有很多函数并导出它们很好,但据我所知,只有 default
导出可以作为助手在模板中使用。而且我 99% 确定没有默认导出会导致构建错误。
Are the imports inside the component file necessary?
如果这些导入在组件的 代码 中使用,那么它们是必需的。否则,没有。