Что это означает, когда свойству записи в веб-пакете присваивается объект с массивами строк в качестве значений? - PullRequest
0 голосов
/ 04 сентября 2018

В документации Webpack предусмотрена возможность передачи объекта с массивами строк для значений в свойство entry конфигурации Webpack.

, например

Usage: entry: {[entryChunkName: string]: string|Array<string>}

Однако в документации не обсуждается, что это на самом деле означает. Это эквивалент нескольких точек входа? Это вызывает другое поведение?

Вот пример его использования в проекте serverless / aws-nodejs-typescript .

1 Ответ

0 голосов
/ 04 сентября 2018

Точка входа может быть определена тремя способами:

1)

entry: {
 main: './src/index.js',
 dashboard: './dashboard/dashboard.js'
}

Это создает файл для каждого свойства объекта.

2)

entry: './src/index.js'

Обычная конфигурация, мало чем отличающаяся.

3)

entry: ['@babel/polyfill', 'src/index.js', 'otherfile', 'other something']

Единственное различие между определением как объекта и определением как массива состоит в том, что, поскольку веб-пакет объекта создает более одного "основного" файла пакета, это также стратегия разделения кода.

При определении в виде массива, webpack будет искать зависимости во всех этих файлах и помещать их в один и тот же файл "entry", в основном он классифицируется как 1 отдельный файл.

То, что происходит с тем проектом, который вы связали, представляет собой комбинацию 1 + 3, которую мы могли бы назвать «4». Это создает объект для каждой записи, и каждая запись в этом объекте состоит из массива других библиотек.

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