Могут ли помощники Ember использоваться в качестве коммунальных услуг? - PullRequest
0 голосов
/ 22 февраля 2019

Я просматривал кодовую базу старого проекта, который использует Ember-CLI 1.13, и обнаружил что-то странное.

Есть много помощников, которые не используются непосредственно внутри шаблонов, но используются в файлах компонентов 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';

У меня есть несколько вопросов:

  1. Разве мы не должны создавать утилиту вместо помощника в этом случае?
  2. Можно ли включать много функций в один файл помощника?
  3. Импортируется ли внутри компонентафайл необходим?

1 Ответ

0 голосов
/ 22 февраля 2019

Разве мы не должны создавать утилиту вместо помощника в этом случае?

Да, но иногда программисты ленивы или очень ограничены во времени (хотя перемещение функции в утилиты нене выглядит трудоемкой задачей)

Можно ли включать много функций в один вспомогательный файл?

Да, хорошо иметь много функций вфайл и экспортировать их, но, насколько я знаю, только default экспорт будет работать в шаблонах в качестве помощника.И я на 99% уверен, что отсутствие экспорта по умолчанию приведет к ошибке сборки.

Необходим ли импорт внутри файла компонента?

Если эти импорты используются в код компонента , тогда они необходимы.В противном случае, нет.

...