Angular Universal + Asp Net Core:如何在虚拟目录中提供静态文件

时间:2019-10-29 00:03:39

标签: angular asp.net-core angular-universal

我有一个Angular Universal + Asp Net Core应用程序。

我需要从“虚拟目录”提供静态文件。

在ASP NET方面,我有:

app.UseFileServer(new FileServerOptions
        {
            FileProvider = new PhysicalFileProvider(Configuration["CDN"]),
            RequestPath = new PathString("/cdn"),
            EnableDirectoryBrowsing = false
        });

在Angular Universal方面,我尝试过:

app.use(express.static('CDN'));

app.use('/CDN', express.static('C:\path\to\CDN'));

但是这些都不起作用,我得到了这个错误:

main-es2015.js:1 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'CDN/photot.jpg'

1 个答案:

答案 0 :(得分:0)

我解决了更改server.ts;

app.get('*', (req, res) => {
if(req.url.indexOf('CDN/')>-1){
    res.sendFile(req.url,{ root: 'C:\\path\\to\\cdn' });
} else {
    res.render('index', { req });
}});