Webpack配置为可通过两个步骤工作:
为客户端构建和资产(目标网站)输出“ ClientApp / build / public”,
为SSR构建(目标节点)输出'ClientApp / build / server'。
Dev Server在代理模式下运行:spa.UseProxyToSpaDevelopmentServer("https://localhost:8080/");
。
在Startup.cs ConfigureServices
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/build/";
});
在浏览器的控制台中:
[HMR] Waiting for update signal from WDS...
...
[WDS] Hot Module Replacement enabled.
但是使用当前设置,我已经看到“服务器”文件夹,并且可以访问https://localhost:44318/server/server.bundle.js
当我尝试将RootPath设置为ClientApp/build/public/
时,应用程序仍然可以正常工作,并且无法访问服务器文件-期望的行为,但是在浏览器控制台中没有来自HMR的任何错误或状态信息。它悄无声息地丢失了(但仍然存在于客户端捆绑包中)。
Dev Server作为分离的进程并没有一直停止-只需在.net项目中切换RootPath即可启用或错过HMR。怎么了?
Dev服务器配置:
devServer: {
disableHostCheck: true,
https: true,
pfx: fs.readFileSync('./ssl/localhost.pfx'),
pfxPassphrase: 'some-password',
overlay: {
warnings: true,
errors: true
},
clientLogLevel: 'info'
}