angular - 无法将快速服务器中的图像提供给 Angular 2
问题描述
我使用快速生成器配置了快速服务器。
我有这行快递:
app.use(express.static(path.join(__dirname, 'public')));
同样在角度代码中,我有这个:
img src="/images/pic.png".
该图像位于 express 生成器文件夹中的 public/images 中,并且不会在浏览器上呈现。
如果我用它替换代码img src="http://localhost:8080/images/pic..."
将呈现。
我尝试了那里的每一个技巧。难道我做错了什么?
解决方案
您需要提供 Angular 应用程序会命中的基本 URL,以便获取静态内容或命中 API。
因此,您可以在您的服务中执行以下操作并在您的组件的 .ts文件中提供,或者如果您希望您也可以在environment.ts文件中声明baseUrl:-
const baseUrl = http://localhost:8080;
然后在组件的 HTML中:-
<img src="{{baseUrl}}/images/pic.png">
您面临的问题是由于img src="/images/pic.png"
. 它将到达提供 Angular 应用程序的域。因此,如果您正在开发应用程序,那么它img src="http://localhost:4200/images/pic.png"
通常会产生结果。
但是,如果您从托管图像的同一域提供应用程序,即如果您可能使用了反向代理,则可以按照您尝试的方式获取它。但这需要您配置额外的服务器。
推荐阅读
- c++ - 这是默认模板参数的允许语法吗?
- sql - 如何将 WHERE NOT EXISTS 更改为 ANY?
- google-cloud-firestore - 一个查询中有两种可能性。云防火墙
- javascript - TypeError - 网络请求失败(没有提示问题出在哪里)
- matlab - 如何读取文本文件并在其中找到特定值?
- .net - .Net Core 登录问题与“持续存在”。但是用户被管理员阻止了
- r - 如何使用 muma 包在 r 中创建火山图
- tensorflow - 张量流中的LSTM nan损失
- php - 当有人编辑他的个人资料时更新特定数据
- godot - 在运行时创建具有大量实例数的多网格