Я создаю приложение с использованием ASP.NET Core для бэкэнда и запускаю приложение React для клиентской части.Я настроил веб-пакет для преобразования SASS в CSS, TypeScript в JavaScript и использую HtmlWebpackPlugin
для добавления этих пакетов в файл _Layout.cshtml
.Пакеты публикуются на wwwroot/dist/
Все это прекрасно работает с моим локальным хостингом разработки.Проблема возникает, когда я пытаюсь запустить приложение в виртуальном каталоге (требование некоторых моих развертываний).ASP.NET разрешает виртуальные пути к полным путям на основе информации о хостинге (например, ~\resource
разрешается в \virtual-directory\resource
), но ресурсы веб-пакета компилируются по фиксированным путям.
Я пытался установить *Свойство 1010 * для генерации виртуальных путей:
output: {
path: path.resolve(__dirname, 'wwwroot/dist'),
publicPath: '~/dist/'
}
Хотя это прекрасно работает для пакетов, на которые ссылается мой файл _Layout.cshtml
, вставляя значения href
с префиксом идентификатора виртуального пути, который разрешает ASP.NET,он не работает, когда любой из пакетов ссылается на другие файлы, такие как изображения.Эти ссылки не разрешаются ASP.NET, и браузер пытается загрузить ресурс по адресу https://host/~/dist/images/cat.png
.
. Я хотел бы, чтобы все ресурсы разрешались относительно корня приложения, а некорень хоста.