Класс полезности Ember.js

Я новичок в Ember.js и Javascript в целом. Я использую ember-cli для создания приложения, которое может использовать класс DateUtil для выполнения некоторых манипуляций с датами. Я заметил, что у ember-cli есть генератор утилит для создания следующего кода шаблона в app/utils/date-util.js:

export default function dateUtil() {};

Мне интересно, как писать утилиту, чтобы я мог использовать ее в своем приложении. В частности, в качестве примера, в контроллере:

export default Ember.ObjectController.extend({
  startDate: dateUtil.thisMonday()
});

где thisMonday() вернет дату этого понедельника с помощью параметра moment.js, например:

moment({hour:0}).day(1);

Было бы много других, похожих на thisMonday() как часть dateUtil.

Ответ 1

Вам просто нужно импортировать модуль ES6, который экспортирует вашу служебную функцию в каждом из контроллеров, которые хотят ее использовать, например:

import dateUtil from 'app/utils/date-util';

export default Ember.ObjectController.extend({
  startDate: dateUtil().thisMonday()
});

Обратите внимание, что путь не обязательно app/utils/..., но вы должны заменить app на имя приложения, которое вы использовали при первоначальном создании приложения. Вы можете проверить, что это такое, посмотрев в app/app.js и ища значение modulePrefix внутри Ember.Application.extend().