我正在尝试使用ASP.NET Core 3.0和Vue建立新的应用程序。我一直在努力正确地设置它,以便后端服务器和前端服务器正确地集成在一起,并具有正确的路由和正常工作的HMR。我现在确实可以使用它,但是我无法确定这是否是正确的方法,而且有些作品我认为效果不佳。
我当前的设置:
Webpack已配置为将文件输出到wwwroot
中。我也有HMR和
运行WriteFilePlugin时启用webpack-dev-server:
mode: 'development',
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, '../wwwroot'),
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
// write files to fs instead of memory
// so that the server can access and serve index.html
new WriteFilePlugin(),
],
devServer: {
hot: true,
watchOptions: {
poll: true,
},
port: 9001,
},
在Startup.cs
中:
public void ConfigureServices(IServiceCollection services)
{
.....
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "wwwroot";
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseStaticFiles();
app.UseSpaStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action=Index}/{id?}");
if (env.IsDevelopment())
{
if (System.Diagnostics.Debugger.IsAttached)
{
// run the dev server
endpoints.MapToVueCliProxy("{*path}", new SpaOptions { SourcePath = "ClientApp" },
npmScript: "serve", regex: "Compiled successfully");
}
}
// serve index.html file when no api endpoints are matched
endpoints.MapFallbackToFile("index.html");
}
我的设置问题:
index.html
。这行得通,但是现在我已经被大量文件写入我的文件系统了。是否可以将内存HMR与ASP.NET服务器结合使用?index.html
有时会被缓存,因此我必须进行硬重装。可以以某种方式使它更可靠吗?