Нужно экспортировать классы для NPM пакета - PullRequest
0 голосов
/ 15 января 2020

Я создаю NPM пакет и ищу лучший способ экспортировать мои классы.

Сейчас я использую это:

import {Swan} from './Swan';
import {Route, Router} from './Router';
import {View, TemplateView, IView} from './views';

export { Route, Router, Swan, View, TemplateView, IView };

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

Есть ли способ экспортировать все классы во всех указанных мной файлах без необходимости обновления экспортная выписка здесь?

1 Ответ

0 голосов
/ 15 января 2020

Есть ли способ экспортировать все классы во всех указанных мной файлах без необходимости обновлять оператор экспорта здесь?

Нет автоматов c "экспортировать все" или экспортируйте все классы в Javascript.


Но вы можете изменить способ определения ваших классов, чтобы они были частью внутреннего объекта, и вы просто экспортировали этот объект.

 const myExports = {
      TemplateView: class TemplateView {
          ...
      },
      iView: class iView {
         ...
      }

 };

 export default myExports;

Когда вы добавляете новый класс в эту структуру, он автоматически становится частью экспорта.


С другой стороны, я лично не вижу смысла в том, чтобы поддерживать список экспорта. когда вы добавляете новый элемент в модуль, который вы хотите экспортировать. ПРЕДПОЛАГАЕТСЯ, чтобы экспорт был продуманным списком вещей, который содержит только элементы, которые необходимо экспортировать, и не содержит других функций, используемых локально как часть реализации. Единственный способ, которым это может быть вдумчивый список, - это если он не автоматизирован c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...