我正在使用Angular 5应用,正在将其托管在Apache2.4 http服务器上,并使用http://localhost:7777/test/
上的代理模块对其进行重定向
我的第一个问题是从浏览器调用服务时,它使用http://localhost:7777/
作为基本URL,通过从我的测试服务中将斜线从/service1/upload
删除到service1/upload
来快速解决。
所以我从http://localhost:7777/service1/upload
转到了http://localhost:7777/test/service1/upload
。
现在我在Assets /文件夹中遇到另一个image.png
的未解决问题,它一直试图从http://localhost:7777/assets/image.png
而不是http://localhost:7777/test/assets/image.png
来获取它
我测试了第二个URL,它按要求返回了我的图片。如何使Angular 5相对地找到我的资产路径?以我为例,致电http://localhost:7777/test/assets/image.png
这是我访问HTML图像的方式:
..
<img src='assets/stop_pic.PNG' >
..
我在index.html中的基本href:
<base href="">
我的angular-cli.json conf:
...
apps": [
{
"root": "src",
"outDir": "../src/main/resources/static",
"assets": [
"assets"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.css"
],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
...
答案 0 :(得分:2)
即使答案有点愚蠢,也能得到答案。
浏览器缓存了我的应用程序,因此没有计入我从<img src='../../assets/stop_pic.PNG'>
到<img src='assets/stop_pic.PNG'>
的最后一次修改。
从我的图像中删除所有斜杠src起作用了!
答案 1 :(得分:0)
在index.html中设置基本href,例如-
<base href='/'>
更改-
"assets": [
"assets"
],
TO-
"assets": [
"src/assets"
],
在HTML中引用图片,例如:
src="/assets/images/footer-min.png"