我有以下ASP.NET核心项目结构:
.
├── Controllers
├── Dockerfile
├── Models
├── Program.cs
├── Properties
├── README.md
├── Services
├── Startup.cs
├── Views
├── appsettings.json
├── bundleconfig.json
├── project.json
├── web.config
└── wwwroot
在wwwroot
内,我使用Aurelia cli
设置了Aurelia项目。它有以下结构:
.
├── aurelia-app
├── css
├── images
├── js
└── temp.html
我的aurelia-app
包含了我要提供的index.html
文件(当我浏览到localhost:5000
时,如果它在wwwroot
中,则会以类似的方式)
这是我的Startup.cs
configure()方法的样子:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseFileServer(new FileServerOptions
{
EnableDefaultFiles = true,
EnableDirectoryBrowsing = true,
});
app.UseMvc();
}
我应该更改什么,以便在加载基本网址时,它会在index.html
目录中查找wwwroot/aurelia-app
文件?
答案 0 :(得分:1)
我不确定这是否有效,但你可以试试。
var options = new DefaultFilesOptions
{
RequestPath = RequestPath = new PathString("/wwwroot/aurelia-app or /aurelia-app")
};
app.UseDefaultFiles(options);
app.UseStaticFiles();
答案 1 :(得分:1)
这与您网站的默认“索引”文件有关,而不是与提供静态文件有关。我想你想在wwwroot
中提供所有文件,而不仅仅是wwwroot/aurelia-app
内的文件。因此,将静态文件中间件限定为wwwroot/aurelia-app
将无法正常工作。
您最好的选择可能是在http://localhost:5000/aurelia-app/index.html
(项目 - >属性 - > launchSettings.json)中将默认应用程序网址设置为launchSettings.json
:
"iisExpress": {
"applicationUrl": "http://localhost:5000/aurelia-app/index.html",
}