После нескольких часов проб и испытаний было найдено решение, устраняющее проблему. Ответ на исходный вопрос до сих пор неизвестен, т.е. я не понял, как добавить приложение размером более 100 МБ. Но я нашел решение, почему приложение было больше 100 МБ. Разделяю его, чтобы он мог помочь другим, вроде меня, начинающим разработку React SPFX.
Проблема
В моем проекте абсолютно нулевые медиафайлы (ни изображений, ни видео). Поэтому было странно, что размер пакета превышал 100 МБ. Хотя у меня было более 25 компонентов и 5 веб-частей. Обычно я запускаю свою рабочую среду (используя Gulp Serve) и продолжаю вносить изменения, пока она не будет готова к сборке. Затем я останавливаю Gulp Serve и запускаю свои команды сборки (Gulp Bundle -ship & Gulp Package-Solution --Ship). Он увеличивает размер файла .sppkg с каждой сборкой. Это также добавляет болезненную задержку при загрузке и проверке приложения в магазине приложений (почти 10 минут в худшем случае). А затем, когда размер пакета превышает 100 МБ, вы больше не сможете обновлять его в своем семействе сайтов.
Решение
Я случайно наткнулся на "Gulp Clean" и решил попробовать. Я запускал его перед своими командами сборки и вуаля! Пакет, который всего несколько минут назад был 100 МБ, теперь стал 1,3 МБ (очевидно, поскольку все, что содержит мое решение, это файлы .ts, .tsx и .scss). Теперь обновление моего приложения в магазине приложений занимает меньше минуты.
Поэтому я создавал bat-файл для сборки своего пакета каждый раз, когда мне это нужно. Содержимое файла bat показано ниже:
call gulp clean
call gulp bundle -ship
call gulp package-solution --ship
Дополнительная справка
Я обнаружил, что этот пост от Вальдека Мастикарца слишком поздно. Хотя причины для использования "Clean" в его посте были другими, чем у меня, это сэкономило бы мне несколько часов, если бы я увидел это немного раньше.
Предупреждение
Я все еще детально изучаю Gulp Clean и не могу точно сказать, нет ли у него побочных эффектов.
person
Surya
schedule
08.11.2018