2016-11-22 80 views
0

我有以下ASP.NET核心项目结构:从文件夹中提供静态文件里面的wwwroot

. 
├── Controllers 
├── Dockerfile 
├── Models 
├── Program.cs 
├── Properties 
├── README.md 
├── Services 
├── Startup.cs 
├── Views 
├── appsettings.json 
├── bundleconfig.json 
├── project.json 
├── web.config 
└── wwwroot 

里面wwwroot,我已经建立了使用奥里利亚cli的奥里利亚项目。它具有以下结构:

. 
├── aurelia-app 
├── css 
├── images 
├── js 
└── temp.html 

和我的aurelia-appindex.html文件,我想服务(当我浏览到localhost:5000,以类似的方式,如果它是在wwwroot

这里就是我的Startup.cs配置()方法是这样的:

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(); 
} 

我应该怎么改变,这样在加载基本URL,它会寻找index.html文件中wwwroot/aurelia-app目录?

+3

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files – Alexan

+0

是的,我已经使用'PhysicalFileProvider'解决方案试过,但我得到的错误'找不到PhysicalFileProvider',我该如何补充? – akshayKhot

+0

我正在使用VSCode,所以不知道如何在没有'nuget'的情况下添加外部依赖关系。 – akshayKhot

回答

1

我不确定这是否有效,但您可以尝试。

var options = new DefaultFilesOptions 
{ 
    RequestPath = RequestPath = new PathString("/wwwroot/aurelia-app or /aurelia-app") 
}; 
app.UseDefaultFiles(options); 
app.UseStaticFiles(); 
1

这与您的网站的默认“索引”文件有关,而不是服务静态文件。我想你想所有文件在wwwroot,而不仅仅是wwwroot/aurelia-app内。因此,将您的静态文件中间件范围设定为wwwroot/aurelia-app将不起作用。

你最好的选择可能是设置的默认应用程序的URL http://localhost:5000/aurelia-app/index.htmllaunchSettings.json(项目 - >属性 - > launchSettings.json):

"iisExpress": { 
    "applicationUrl": "http://localhost:5000/aurelia-app/index.html", 
} 

你应该在你的IIS站点或应用Azure的设定等Web应用程序。 例如: Azure Web App settings

+0

有道理。是的,我想在'wwwroot'中提供所有文件。谢谢。所以我在'launchSettings.json'中添加了上面的代码行,并且改变了'launchUrl',所以它看起来像[this](http://imgur.com/a/e0AfM)。不过,当我浏览到'localhost:5000'时,我得到以下内容:http://imgur.com/a/PgK45 – akshayKhot