Я использую следующий подход для создания одноэлементного сервиса в своем приложении:
myService.js :
let myService = {};
myService.doSomething = function() {
//doing something
};
export {myService};
использованиев другом модуле :
import {myService} from 'myService.js'
myService.doSomething();
export {myService};
Обычно это работает нормально, но проблема в том, что возможно изменить службу в модуле, который ее импортирует:
import {myService} from 'myService.js'
myService.doSomething = function() {
//do something different
};
export {myService};
Этоне является желательным для одиночного обслуживания, оно должно быть неизменным.
Как может быть достигнута неизменность?У кого-нибудь есть совершенно другой / лучший подход для создания неизменяемых сервисов в виде модулей ES6?