Я пытаюсь связать свой собственный код (A), который, в свою очередь, использует 2 сторонних компонента (B и C), где C также нуждается в B. Насколько я знаю, все написано с использованием модулей стиля узла CommonJS.
А сам по себе в комплекте выходит 60К.
B включен отдельно и считается глобальным, у меня это отлично работает, выполнив грязную замену на моем этапе сборки, которая заменяет require("B") на global.B
C - это то, что вызывает у меня проблемы, хотя его размер должен быть «всего 8 КБ», но когда я пытаюсь объединить его с A, мой пакет подскакивает до 600 КБ +, поскольку я предполагаю, что он тянет в изобилии зависимости?
Это неприемлемо, но я не знаю, как сделать его еще меньше, поскольку я не знаю, какого черта он тянет (или, что более важно, что я могу исключить, чтобы он все еще работал). Я мог бы попробовать бинарную отбивку с исключениями, но я не знаю, безопасный ли это способ или даже разумный способ сделать это.
Как я могу связать C так, чтобы мой пакет получился только 68,5 КБ (общий размер обоих фрагментов кода 60 КБ + 8,5 КБ) и, конечно, все еще работал?
Я новичок в узле и браузере, но я бился над этим больше недели, так что честно скажу, что я дал ему хороший удар, прежде чем поднять руку.
Дополнительная информация, если это важно:
- он должен работать на стороне сервера и на стороне клиента
- B на самом деле ReactJS
- C на самом деле является компонентом маршрутизатора React
- Использование Windows и C# через ReactJS.net... эй... подожди... вернись... перекати-поле