Webpack - предоставляет разные глобальные переменные для разных чанков в одной сборке - PullRequest
0 голосов
/ 28 августа 2018

У меня есть сценарий, где у меня есть несколько пакетов, и я использую общий плагин чанка. Мне нужен дополнительный общий блок, который будет иметь две разные версии, на самом деле 3, но давайте будем проще.

Давайте назовем этот второй общий блок: B. В B есть флаги, которые будут установлены по-разному в версии 1, чем в версии 2, но мне нужны все пакеты и общие блоки, чтобы без проблем использовать разные версии B. Начиная с Сейчас единственное решение, которое я вижу, - это создание отдельных конфигов веб-пакетов для версий, аналогично тому, что делается для сценариев Dev и Prod. Проблема в том, что эти версии необходимы для производства и требуют более длительной сборки и удвоения количества активов. Мне просто нужны дубликаты B.

Я определенно не буду создавать другой конфиг, при необходимости я сделаю эти модули внешними B и буду использовать browserify для связывания и сделать доступным для использования моим комплектом веб-пакета (я не вижу способа сделать это с помощью веб-пакета) ).

Кусок B - Версия 1

a.js

export {IS_TEST_A: true}

b.js

export {IS_TEST_B: false}

Блок B - Версия 2

a.js

export {IS_TEST_A: false}

b.js

export {IS_TEST_B: true}

основной комплект (от и въезд) index.js

import {IS_TEST_A} from ‘a’;
import {IS_TEST_B} from ‘b’;

console.log(IS_TEST_A); //Will print true if Version 1 loaded and false if version 2 loaded
console.log(IS_TEST_B); //Will print false if Version 1 loaded and true if version 2 loaded
...