Как переместить метод в отдельный файл в веб-пакете? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть класс:

class MyClass {
    myMethod () { /**/ }
}

Но я хочу переместить мой метод в отдельный файл. Я попытался создать новый файл,

myMethod. js:

MyClass.prototype.myMethod = () => { /**/ }

и импортировать его в свой основной файл, например:

import './myMethod.js';

, но я получите ошибку: ReferenceError: MyClass is not defined

Изменение оператора импорта или попытка добавить строку экспорта в myMethod. js не имеет значения. Просто кажется, что он не может найти MyClass.

Это кажется довольно распространенной проблемой, поэтому я не понимаю, что я должен делать, или почему я не могу найти что-нибудь об этом в Google. Разделение моего класса на несколько файлов - причина, по которой я хочу использовать веб-пакет.

1 Ответ

0 голосов
/ 24 апреля 2020

Вы можете использовать разделение кода webpack для создания отдельного чанка, единственной обратной стороной, если этот метод больше всего асин c.

// MyClass.js

class MyClass {

}

MyClass.prototype.myMethod = async (...args) => {
   const { myMethod } = await import('./myMethod');

   return myMethod.apply(MyClass.prototype, args);
}
// myMethod.js

export const myMethod = function myMethod() {
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...