我体验过Asp.Net Core + Angular,我已经设置了一个项目(通过dotnet new angular
)并开始应用我的管理主题。
目前我已将所有主题资源直接放在wwwroot / dist文件夹中:
我遇到了一个问题:
在我的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文件夹中。
那么最佳做法是什么,我应该把这种文件放在哪里?我应该如何告诉角度看其他地方?+
答案 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文件夹下,并将您的资源放在这里。