Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Это не последняя версия этой статьи. Для текущего релиза смотрите версию .NET 9 этой статьи.
Предупреждение
Эта версия ASP.NET Core больше не поддерживается. Дополнительные сведения см. в политике поддержки .NET и .NET Core. Для текущего релиза смотрите версию .NET 9 этой статьи.
Это важно
Эта информация относится к предварительному выпуску продукта, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь.
Для текущего релиза смотрите версию .NET 9 этой статьи.
В этой статье объясняется, как размещать и развертывать автономный Blazor WebAssembly сервер с помощью GitHub Pages.
В следующем руководстве по GitHub Pages для развёртывания приложений Blazor WebAssembly демонстрируются концепции с интерактивным инструментом, развернутым на GitHub Pages. Средство используется авторами документации по ASP.NET Core для создания ссылок XREF на документацию API для разметки статьи.
-
BlazorWebAssemblyXrefGenerator
пример приложения (blazor-samples/BlazorWebAssemblyXrefGenerator
) - веб-сайт Live Xref Generator
Параметры GitHub Pages
- Действия >общие
-
Разрешения действий
- Разрешить корпоративные действия и выбрать некорпоративные действия и повторно используемые рабочие процессы> Включено (выбрано)
- Разрешить действия, созданные GitHub> Включено (выбрано)
-
Разрешить действия и повторно используемые рабочие процессы>
stevesandersonms/ghaction-rewrite-base-href@{SHA HASH},
- Разрешения рабочего процесса>Чтение содержимого репозитория и пакетов
-
Разрешения действий
-
Pages>Сборка и развертывание
- Исходный код>GitHub Actions
- Выбранный рабочий процесс: Статический HTML, и создайте скрипт действия статического развертывания на основе файла Xref Generator
static.yml
для инструмента генерации Xref. Конфигурация в файле описана в следующем разделе. - личный домен. Задайте, если вы планируете использовать личный домен, который не рассматривается в этом руководстве. Дополнительные сведения см. в статье Настройка личного домена для сайта GitHub Pages.
- Обеспечить использование HTTPS> Включено (выбрано)
† Хэш SHA ({SHA HASH}
заполнитель) представляет хэш SHA для последней stevesandersonms/ghaction-rewrite-base-href
версии GitHub Actions. Закрепление на определенной версии снижает риск того, что скомпрометированный последний выпуск с использованием обозначения версии, такого как v1
, может поставить под угрозу развертывание. Периодически обновите SHA до последнего выпуска для последних функций и исправлений ошибок.
Чтобы получить хэш SHA, выполните следующие действия.
- Перейдите к репозиторию
SteveSandersonMS/ghaction-rewrite-base-href
Action GitHub. - Выберите выпуск в правой части страницы в разделе "Выпуски".
- Найдите и выберите короткий хэш SHA (например,
5b54862
). - Либо:
- Скопируйте полный SHA из URL в строке адреса браузера.
- Нажмите кнопку копирования справа на странице
, чтобы поместить SHA в буфер обмена.
Дополнительные сведения см. в статье "Использование предварительно созданных стандартных блоков в рабочем процессе: использование SHAs (документация по GitHub)".
Конфигурация скрипта статического развертывания
Генератор Xref файл static.yml
Настройте следующие записи в скрипте для развертывания:
- Каталог публикации (
PUBLISH_DIR
): Используйте путь к папке репозитория, в котором публикуется приложение Blazor WebAssembly. Приложение компилируется под определённую версию .NET, и сегмент пути для этой версии должен совпадать. Пример:BlazorWebAssemblyXrefGenerator/bin/Release/net9.0/publish/wwwroot
является путем для приложения, использующегоnet9.0
идентификатор целевой платформы (TFM) для SDK .NET 9. - Путь отправки (
on:push:paths
): установите путь отправки для соответствия папке репозитория приложения с подстановочным знаком**
. Пример:BlazorWebAssemblyXrefGenerator/**
. - Версия пакета SDK для .NET (
dotnet-version
с помощьюactions/setup-dotnet
действия): на данный момент нет способа установить версию на «последнюю» (см. Разрешить указывать «последнюю» в качестве dotnet-version (actions/setup-dotnet
#497), чтобы поддержать запрос на эту функцию). Задайте версию пакета SDK по крайней мере так же, как и версию платформы приложения. - Путь публикации (команда
dotnet publish
): задайте путь к папке репозитория приложения. Пример:dotnet publish BlazorWebAssemblyXrefGenerator -c Release
. - Base HREF (
base_href
дляSteveSandersonMS/ghaction-rewrite-base-href
Действия): задайте хэш SHA для последней версии Действия (см. инструкцию в разделе настройки GitHub Pages). Задайте базовый href для приложения в имя репозитория. Пример. Владелец репозитория Blazor примера —dotnet
. Название репозитория образца Blazor —blazor-samples
. При развертывании средства генератора Xref на GitHub Pages его веб-адрес основан на имени репозитория (https://dotnet.github.io/blazor-samples/
). Базовый href приложения — это/blazor-samples/
, который задается какbase_href
для действияghaction-rewrite-base-href
, чтобы записать в тегwwwroot/index.html
<base>
приложения при его развертывании. Дополнительные сведения см. в разделе Базовый путь к приложениям ASP.NET CoreBlazor.
Сервер Ubuntu с размещением в GitHub (последняя версия) имеет предварительно установленную версию пакета SDK для .NET. Вы можете удалить шаг действия actions/setup-dotnet
из скрипта static.yml
, если предварительно установленного пакета SDK для .NET достаточно для компиляции приложения. Чтобы определить пакет SDK для .NET, установленный для ubuntu-latest
:
- Перейдите в раздел .
- Найдите изображение
ubuntu-latest
, которое является первой строкой таблицы. - Выберите ссылку в столбце
Included Software
. - Прокрутите вниз до раздела инструментов .NET, чтобы просмотреть пакет SDK для .NET Core, установленный с изображением.
Заметки о развертывании
Действие GitHub по умолчанию, которое развертывает страницы, пропускает развертывание папок, начинающихся с подчеркивания, например, папку с именем _framework
. Чтобы развернуть папки, начинающиеся с символа подчеркивания, добавьте пустой файл .nojekyll
в корневой каталог репозитория приложения. Пример: файл генератора Xref.nojekyll
Выполните этот шаг перед первым развертыванием приложения: Git рассматривает файлы JavaScript (JS), такие как blazor.webassembly.js
, как текст и преобразует окончания строк из CRLF (возврат каретки и перевод строки) в LF (перевод строки) в процессе развертывания. Эти изменения в файлах JS образуют другие хэши файлов, которые Blazor отправляет клиенту. Несоответствия приводят к сбоям проверки целостности на клиентской системе. Одним из подходов к решению этой проблемы является добавление файла .gitattributes
со строкой *.js binary
перед добавлением ресурсов приложения в ветвь Git. Строка *.js binary
настраивает Git относиться к JS файлам как к двоичным, что предотвращает их обработку в конвейере развертывания и приводит к тому, что проверка целостности на стороне клиента проходит. Дополнительные сведения см. в разделе ASP.NET Кэширование пакетов .NET Core Blazor WebAssembly и сбои проверки целостности. Пример: файл генератора Xref.gitattributes
Чтобы обрабатывать перезаписи URL-адресов на основе одностраничных приложений для страниц GitHub (репозиторийrafrex/spa-github-pages
GitHub):
- Добавьте файл
wwwroot/404.html
с скриптом, который обрабатывает перенаправление запроса на страницуindex.html
. Пример: файл генератора Xref404.html
- В
wwwroot/index.html
добавьте скрипт в содержимое<head>
. Пример: файл генератора Xrefindex.html
GitHub Pages изначально не поддерживает использование сжатых ресурсов Brotli. Чтобы использовать Brotli:
Добавьте скрипт
wwwroot/decode.js
в папкуwwwroot
приложения. Пример: файл генератора Xrefdecode.js
Добавьте тег
<script>
для загрузки скриптаdecode.js
в файлwwwroot/index.html
непосредственно над тегом<script>
, который загружает скрипт Blazor. Пример: файл генератора Xrefindex.html
- Задайте
autostart="false"
для скрипта Blazor WebAssembly. - Добавьте скрипт
loadBootResource
после тега<script>
, который загружает скрипт Blazor WebAssembly. Пример: файл генератора Xrefindex.html
- Задайте
Добавьте
robots.txt
иsitemap.txt
файлы для улучшения SEO. Примеры: генератор Xrefrobots.txt
файл, генератор Xrefsitemap.txt
файл
ASP.NET Core