Проблема в том, что ваша _singleton
переменная кэша находится внутри вашего singleton()
метода, что означает, что при каждом его вызове она будет пустой.
Вы должны хранить его по-другому:
//a.js
//this is now a global var for this file
let _singleton;
function singleton(){
let quillOptions = { modules: { toolbar: true },
placeholder: 'Compose an epic...',
theme: 'snow'
}
if (!_singleton) {
_singleton = new Quill('#editor', quillOptions)
}
return _singleton;
}
или используйте горстку метода lodash memoize , которая сделает эту работу за вас =)