在使用angular + .net Core

时间:2017-12-18 10:45:20

标签: javascript css angularjs angular .net-core

我体验过Asp.Net Core + Angular,我已经设置了一个项目(通过dotnet new angular)并开始应用我的管理主题。

目前我已将所有主题资源直接放在wwwroot / dist文件夹中: enter image description here

我遇到了一个问题:

在我的app.component.html中,我使用了一个资源(一个徽标):

<img src="dist/img/logo.png" alt="J4N Logo" class="brand-icon">

然后我从angular得到错误:

  

处理请求时发生未处理的异常。   NodeInvocationException:由于错误,预渲染失败:错误:   找不到模块“./dist/img/logo.png”

我理解这是因为angular尝试加载它本身并认为这可能是某种控制器。问题是,这种logo / css / ...甚至可以在启动角度应用程序之前使用(例如在加载页面中),所以我不能把它放在角度app文件夹中。

那么最佳做法是什么,我应该把这种文件放在哪里?我应该如何告诉角度看其他地方?+

2 个答案:

答案 0 :(得分:0)

将其放入wwwroot文件夹中。编译时你的dist文件夹将被替换,而wwwroot文件夹是IIS wwwroot文件夹等效文件。如果你把它放在下面:

wwwroot/
       www.example.com // your website, aka dist folder
       assets/
             img/
                01.png
                02.png

然后,01.png的网址将为www.example.com/assets/img/01.png

[编辑]:只想添加。在你的情况下,让你的img out dist 文件夹并将其放入 wwwroot 。然后你的 src 将是<img src="/img/logo.png" alt="J4N Logo" class="brand-icon">

答案 1 :(得分:0)

您应该创建名为&#34; assets&#34;的资产文件夹。例如,在ClientApp文件夹下,并将您的资源放在这里。