这样的代码
<link rel="stylesheet" href="~/dist/vendor.css" asp-append-version="true" />
<link rel="stylesheet" href="~/dist/main.css" asp-append-version="true" />
在IIS Express上启动的使用IIS Express端口请求文件,当我需要从在另一个端口上工作的webpack devserver返回这些文件时。
有一篇文章介绍如何"switch"配置以及将必需的端口“放置”到<link>
和<script>
引用中,但是指导IIS Express(或自托管)应该更容易ASP Core应用程序)以代理对css
和js
的请求。
不幸的是,这不起作用(无效):
<system.net>
<defaultProxy>
<proxy
proxyaddress="http://localhost:55510"
bypassonlocal="false"
/>
<!--<bypasslist>
<add address="^((?!\/dist\/).)*$" />
</bypasslist>-->
</defaultProxy>
</system.net>
如何配置IISEXpress或(自托管应用)将/dist/*.js
和/dist/*.css
的请求代理到webpack devserver
?
PS It seems与VS + webpack / devserver一起工作的那些开发人员更喜欢将webpack devserver
配置为将对html / json / images / fonts的请求代理到IISExpress(解决方法相同,但从另一端开始) )。为什么?
答案 0 :(得分:0)
“只需编写执行代理的中间件”
解决它。
我已经为其创建了nuget包:DashboardCode.AspNetCore.Http
GitHub:https://github.com/DashboardCode/AspNetCore
首先将其添加到Startup.cs
using DashboardCode.AspNetCore.Http;
然后将其添加到Startup.ConfigureServices()
:
serviceCollection.AddSingleton( new DevProxyMiddlewareSettings(new PathString("/dist"), new Uri("http://localhost:55555")));
然后将其添加到Startup.Configure:
app.UseMiddleware<DevProxyMiddleware>();
此后,所有类似http://localhost:xxxx/dist/sample.js的GET请求都将重定向到http://localhost:55555/dist/sample.js
这很好,它适用于两种情况:自托管和IISExpress托管应用程序。