如何从angular4项目中删除图像的相对路径?

如何从angular4项目中删除图像的相对路径?,angular,svg,angular2-routing,angular2-services,Angular,Svg,Angular2 Routing,Angular2 Services,当我在开发环境中工作时,我正在处理Angular 4项目相对路径工作正常,但当我们在测试机上部署项目时,它找不到映像路径,因为在部署服务器中,我们有一个额外的目录 例如,我们的本地主机url如下所示 http://localhost:10000/login http://servername:10000/projectname/login "../../../assets/img/1.png" 对于测试环境url,如下所示 http://localhost:10000/login htt

当我在开发环境中工作时,我正在处理Angular 4项目相对路径工作正常,但当我们在测试机上部署项目时,它找不到映像路径,因为在部署服务器中,我们有一个额外的目录

例如,我们的本地主机url如下所示

http://localhost:10000/login
http://servername:10000/projectname/login
"../../../assets/img/1.png"
对于测试环境url,如下所示

http://localhost:10000/login
http://servername:10000/projectname/login
"../../../assets/img/1.png"
这两个url都可以正常工作,如果我们通过CSS使用图像,它会指向登录页面,请参见下文

icon-design {
    background-image: url('@{images}/indicator.svg');
}
现在我有一个实际的问题,我有一些绘图组件,它在内部使用SVG,并通过URL接受图像,如果我们将图像URL作为相对路径,它对localhost有效,如下所示

http://localhost:10000/login
http://servername:10000/projectname/login
"../../../assets/img/1.png"
但相同的相对路径不适用于测试环境,因为测试服务器url有点不同,请参见上面的url


有人能告诉我如何解决这个问题吗?

请使用“/assets/img”而不是“/assets/img”来获取相关URL。

也有同样的问题,请将其更改为“/assets/img…”非常感谢。它对我有用,但我不理解它背后的逻辑。您能告诉我为什么这样做吗?当您使用/path时,您假设您的路径从根“级别”开始,通常情况下,这是不正确的。许多服务器提供商不会让您直接访问/但您的web应用程序将位于/www甚至/home/webProject中(可以是任何内容)。当您使用./时,您从项目“级别”开始,即对于角度项目而言./src,内部有可直接访问的资产。对于其他导入,我建议您使用./directory….查找它们。。。。而不是像示例中那样的/app/../directory。对于图像,它可以工作,因为您的基本href=“../”