У меня есть библиотека внешнего интерфейса, созданная мной, и я пытаюсь использовать ее в процессе сборки с веб-пакетом. Библиотека работала с прямой загрузкой в браузере через тег, но я решил перейти к процессу сборки. Есть набор функций, которые я использую как классы через парадигму прототипа (я знаю, что в ES6 есть конструкция класса, но я должен избегать полного переписывания этой библиотеки).
У меня есть "класс"функция (то есть конструктор) с именем Widget, которую я экспортирую, но у этой функции также есть «статический метод» get, который назначается функции непосредственно как функция.
//widget.js file content
export function Widget()
{
....
}
Widget.prototype=....
Widget.get=function()
{
....
}
В другом модуле я просто импортируюэто через именованный импорт. Затем, когда я использую Widget, он работает отлично, но когда я пытаюсь использовать «статический метод», get говорит, что он не определен.
//main.js file content
import {Widget} from "./widget.js"
var w= new Widget();//---working! Widget is defined and i can use it
var a=Widget.get(...);//--- not working! Widget.get seems to have been not exported
Я не могу понять, почему .get
это просто атрибутфункция не была экспортирована (или импортирована).
Есть ли объяснение и, конечно, способ заставить меня работать?
PS: конечно, я не хочу использовать Widget.prototype.get=function(){....}
потому что таким образом .get
метод станет «методом экземпляра», а не «методом класса».
Спасибо