Подтвердить что ты не робот

Веб-классы экспорта из нескольких файлов ввода

Я использую webpack для создания рамки для использования третьими сторонами. Эта структура должна предоставлять несколько классов ES6. Строя модульным способом, я написал один класс для каждого файла. Я хочу создать все эти файлы вместе и объединить их в определенное пространство имен. Пример:

apples.js export class Apples {...}
oranges.js export class Oranges {...}

webpack.config.js:

module.exports = {
  entry: ['./src/apples.js', './src/oranges.js'],
  output: {
    path: './dist',
    filename: 'fruit.js',
    library: 'Fruit',
    libraryTarget: 'umd'
  }
}

Однако, если я загружаю эту библиотеку в браузере и набираю fruit в консоли, я вижу только объект Oranges под Fruit. В библиотеке отображается только последний файл входа. Разумеется, документы webpack подтверждают это поведение:

Если вы передаете массив: все модули загружаются при запуске. Последний экспортируется. http://webpack.github.io/docs/configuration.html#entry

Моим текущим обходным путем является экспорт всех моих классов из одного файла, но он становится довольно громоздким.

Как мне настроить библиотеку с несколькими файлами ввода, которые все экспортируются? Или я собираюсь сделать что-то неправильно здесь?

4b9b3361

Ответ 1

Я думаю, вам лучше использовать файл entry.js, чтобы указать, как вы организуете серверные модули.

import Apples from './apples';
import Oranges from './oranges';

export {
    Apples,
    Oranges
};

Кстати, если вы не хотите писать такие глупые коды по своему усмотрению, используйте Gulp/Grunt для генерации файла "entry.autogenerated.js" по какой-то логике, затем запустите webpack с записью "entry".autogenerated.js'.

Ответ 2

похоже можно просто

export{Apples} from './apples';
export{Oranges} from './oranges';

У меня есть дальнейшая проблема о том, как выставить все модули/классы в каталоге?

Я хочу, чтобы все классы, определенные в этом каталоге, выставлялись автоматически. Почему это необходимо, так это то, что каталог может означать все классы данных или пользовательский интерфейс. Я хочу сформировать комплект данных и пользовательский интерфейс.

Благодарю.