在Angular 2和ASP中使用相对图像路径.净的核心

本文关键字:图像 相对 路径 核心 Angular ASP | 更新日期: 2023-09-27 18:05:21

我试图获得本地图像文件的路径,但我无法找出相对路径所在的位置。通常我会把它们从wwwroot/images文件夹中取出,但是当我试图从那里加载它们时,它失败了。

在Angular 2中,你从哪里得到相对路径?我使用generator-aspnetcore-spa来创建应用程序。


https://github.com/aspnet/JavaScriptServices
http://blog.stevensanderson.com/2016/05/02/angular2-react-knockout-apps-on-aspnet-core/

例如在ClientApp/components/app/app.ts文件夹中
我应该把图像文件夹放在哪里,如何调用它的路径?

在Angular 2和ASP中使用相对图像路径.净的核心

Program.cs

public class Program
{
    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();
        host.Run();
    }
}

UseContentRoot默认为应用程序的当前目录。

在Startup类

中调用app.UseStaticFiles();
public class Startup
{
    ...
    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        ...
        app.UseStaticFiles();

启用静态文件中间件。在默认设置下,它将为web根文件夹(<content root>/wwwroot)中的所有文件提供服务。

如果你看一下https://github.com/aspnet/JavaScriptServices Angular2模板,你会在webpack.config.js中看到输出存储在

output: {
    path: path.join(__dirname, 'wwwroot', 'dist'),
    filename: '[name].js',
    publicPath: '/dist/'
},

也就是<content root>/wwwroot/dist URL是

 http://<whatever host and port>/dist/<my file>

URL不必包含ClientApp(内容根级,不能被静态文件中间件访问),但必须包含dist (wwwroot级)。

因此将images文件夹放入...'wwwroot'images,图像URL将为http://<whatever host and port>/images/<my image file>

在。net Core中,应用程序需要知道使用静态文件,你有

app.UseStaticFiles();

在Startup.cs?