Разверните свой проект в Azure в этом заключительном руководстве и узнайте, как работает развертывание в Svelte.

Я пытался развернуть этот проект много-много раз, думая, что обычный адаптер сработает. Залил на Github, отладил, пытался исправить ошибки, менял файл .YAML, ничего не работало.

Я думал, что предустановки Azure для Svelte будет достаточно для его запуска. Но я не совсем понял, как это все работает.

Я думаю, чтобы понять это правильно, лучше сначала понять, как все это работает.

Как развертывание работает в Svelte

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

В чем разница между статическим и динамическим веб-приложением?

Статическое веб-приложение – это веб-приложение, которое предоставляет пользователю статические HTML-страницы. Это означает, что содержимое веб-страниц не изменится, если веб-разработчик вручную не обновит HTML-код. Динамическое веб-приложение — это веб-приложение, которое использует сценарии на стороне сервера для создания динамических веб-страниц для пользователя. Это означает, что содержимое веб-страницы создается «на лету» и изменяется в зависимости от ввода пользователя или других источников данных.

— «интернет-источник»

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

Однако Svelte создает эти статические файлы. Они создаются там, где вы создаете свое приложение, и находятся в папке .svelte-kit, которая является скрытой папкой.

Теперь Azure не нравится такая установка. Нет, это не так. Он хочет, чтобы файлы размещались другим способом, способом, который мы можем изменить с помощью svelte-adapter-azure-swa, и это адаптер, который немного упрощает развертывание в Azure.

Название трудно запомнить, поэтому давайте разобьем его на две запоминающиеся части.

svelte-adapter : адаптер, который svelte использует для сборки. Вы хотите использовать адаптер Svelte, потому что, если бы вы использовали адаптер React, он не знал бы, что делать со всеми вашими файлами *.svelte, и немного запутался бы. Это svelte-adapter, а не React.

azure-swa: Azure — это служба, которую вы будете использовать для развертывания. Вам не нужно думать об этом. swa — тип развертывания, который вы будете выполнять. SWA означает Static Web App.

Теперь, запомнив эти две группы, просто помните, что они заканчиваются на swa, и все будет хорошо.

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

Итак, представьте это так: у вас есть файлы, которые нужно обслуживать с помощью узла, помеченного .svelte. Node обслуживает не файлы .svelte, а файлы html/js/css. Узел должен переварить файлы и выплюнуть их, чтобы его можно было обслуживать через обычный сервер.

Загрузите его на Github

Теперь в Github загрузите свой проект из корневой папки, не используя папку app, если этого можно избежать. Если вы это сделаете, выполнение проекта может стать немного более увлекательным.

Разверните свое приложение

Чтобы развернуть приложение, вам нужно прикрепить svelte-adapter-azure-swa, установив его как пакет.

npm i -D svelte-adapter-azure-swa

Теперь в svelte.config.js вставьте этот код:

import azure from 'svelte-adapter-azure-swa';

export default {
 kit: {
  ...
  adapter: azure()
 }
};

Затем создайте статическое веб-приложение в Azure и подключитесь, заполнив следующие свойства:

Значение свойстваapp_location./api_locationbuild/serveroutput_locationbuild/static

Если вы не знаете, как это сделать, следуйте здесь инструкции для лучшего объяснения этого шага.

Создайте проект и запустите

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

И это обертка!

На данный момент мы завершили этот урок. Я вернусь с другой серией руководств и добавлю еще несколько методов, некоторые из которых выходят далеко за рамки простого компьютерного программирования.

Но до тех пор не прекращайте взламывать!