Развертывание SPFX sharepoint

Я развернул spfx для sharepoint в Интернете. сначала я запустил gulp bundle --ship и снова gulp package-solution --ship. Я загрузил файл пакета в ресурсы сайта, указанный в файле манифеста. файл пакета, который я загрузил в каталог приложений.

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


person swetha s    schedule 04.02.2019    source источник


Ответы (2)


Это верно по моему опыту.

К файлам пакета добавлен хэш в зависимости от их содержимого, чтобы различать две версии скрипта. Это упрощает браузерам получение новых версий, когда они доступны. Вальдек написал хорошее краткое объяснение о почему они это делают.

Обратите внимание, что когда вы загружаете новый файл пакета, все страницы с вашими веб-частями немедленно начнут указывать на новую версию файлов пакета. Для лучшего опыта я рекомендую сначала загрузить файлы пакета, а затем файл пакета, чтобы пользователи не испытывали каких-либо ошибок веб-части в течение этого короткого времени, если вы загрузили их другим способом.

person Richard Li    schedule 05.02.2019
comment
можем ли мы удалить серийный номер в файлах пакета и загрузить. должны ли мы обновлять и пакет, и файл пакета всякий раз, когда мы вносим изменения? - person swetha s; 22.02.2019
comment
Вы можете удалить хэш из файлов пакета, но это нужно сделать после запуска bundle, но перед запуском package-solution, иначе пакет будет ожидать файлы пакета с хешем и жаловаться, когда не может их найти. Отвечая на второй вопрос, да, вам следует сделать и то, и другое. - person Richard Li; 22.02.2019
comment
Изменить: На самом деле невозможно удалить хеш таким способом! После этого я попытался загрузить веб-часть, но она все еще запрашивала хешированную версию файлов сценария. Если вы действительно хотите удалить хеш (опять же, есть веская причина, по которой они его добавляют), вы можете проверить, не этот метод по-прежнему работает. - person Richard Li; 22.02.2019
comment
потому что у нас есть еще один проект spfx, в котором всякий раз, когда мы вносим какие-либо изменения в код, мы просто загружаем файл пакета, удаляя хэш. мы не загружаем посылку в каталог. это только один раз, когда они загрузили. мы всегда модифицируем код и gulp --ship uopload bundle file dats. Я просто хотел знать, как этого добиться. Я не мог найти никаких источников - person swetha s; 22.02.2019
comment
этот проект был разработан Microsoft. не уверен, как они это сделали - person swetha s; 22.02.2019
comment
Я вижу, как это было бы полезно. Убедитесь, что эта статья у тебя работает. Та же статья, на которую я ссылался в своем последнем комментарии. - person Richard Li; 23.02.2019

Вы можете добавить "includeClientSideAssets": true "в файл package-solution.json, и вам не нужно вручную развертывать ресурсы. Вам нужно просто развернуть пакет .sppkg, и все. Вы даже можете развернуть его с помощью o365 cli из cmd. В нашем env я создал задачу gulp, которая сначала изменяет текущую версию, а затем связывает и развертывает ее.

Атрибут includeClientSideAssets был представлен в SPFx v1.4.

person Ruslan Korkin    schedule 27.03.2019