Функция вызова динамически загруженного экземпляра класса es6

#webpack #es6-modules #dynamic-import

Вопрос:

Я пытаюсь динамически импортировать класс «SampleModuleController» с помощью webpack и вызвать его функцию-член следующим образом.

sampleModule.js

   class SampleModuleController{
    
        getSampleModuleSheet()
        {
            console.log("getSampleModuleSheet");
        }
    
    }
    export let sampleModuleController = new SampleModuleController();
 

в файле другого класса…

 async clicked(){
    const getView = await import('../../controllers/sampleModule');
    console.log("getView--",getView);
    getView.getSampleModuleSheet();
}
 

но это дает мне следующие журналы и ошибки

введите описание изображения здесь

Комментарии:

1. проверьте, если async clicked(){ const {sammpleModuleController} = await import('../../controllers/sampleModule'); console.log("getView--",getView); sampleModuleController.getSampleModuleSheet(); }

2. @me.nkr, пожалуйста, дайте это в качестве ответа .я отмечу его как правильный

3. Не используйте a class , если вы хотите создать синглтон. Просто напишите export function getSampleModuleSheet() { … } , и ваш код будет работать.

Ответ №1:

     async clicked() {
      const {sammpleModuleController: getView} = await import ('../../controllers/sampleModule');
      console.log("getView--", getView);
      getView.getSampleModuleSheet();
    }