我是Angular的新手。我用2张图片创建了一个小型Web应用程序。图像位于myapp/src/assets/img1.jpg
。在我的本地机器上,一切正常。当我调用locasthost:4200时,我可以看到图像,但是当我将dist
文件夹(使用ng build --prod
创建)的内容上传到我的Web服务器时,无法找到图像。
我的网络服务器:abc.host.com/~user1/myapp
路径的部分(myapp
)被切断。例如abc.host.com/~user1/assets/img1.jpg
。
我应该使用<base href="">
什么?
使用什么img src
路径以便在Web服务器上显示图像?
以下不起作用:
<img src="/assets/img/img1.jpg" alt="/assets/img/img1.jpg">
<img src="../assets/img/img1.jpg" alt="../assets/img/img1.jpg">
我想保持一切相对。
解决方案:
<base href="./">
<img src="assets/img/img1.jpg" alt="assets/img/img1.jpg">
我的网络服务器现在将从abc.host.com/~user1/myapp/assets/img/img1.jpg
答案 0 :(得分:3)
这完全取决于您在 index.html 中提供的 base href 。 所有图片都应保存在'assets'文件夹下。并且项目中任何图像的路径必须是相对的,从此文件夹开始,即
SRC =的 “资产/ IMG / img1.jpg”强> 的
执行此操作时,将删除找不到文件的难度,这将在部署应用程序时出现。
现在,这些步骤将完成其余的工作。
可以在http://localhost:8080/my_app
访问申请表如果你不想为你的应用程序使用上下文'myApp',那么尝试 base href ='。/'
这对我的情况有帮助。希望,它有所帮助。
答案 1 :(得分:1)
这取决于您的html文件的存在位置。根据您的数据,可能有三种可能性:
<img src="src/assets/img/img1.jpg" alt="My image"/>
<img src="assets/img/img1.jpg" alt="My image"/>
<img src="img/img1.jpg" alt="My image"/>
答案 2 :(得分:0)
我应该使用
<base href="">
什么?
取决于您的配置,但一般来说,它应指向您的应用入口点。因此,如果您的应用可以使用example.com
,则基本href将为/
如果您的应用在exampl.com/some/path
下可用,则基本href应该与/some/path/
答案 3 :(得分:0)
。
<img src="assets/image/tlsTitle16.gif" onerror="this.onerror=null;this.src='ProjectName/assets/image/tlsTitle16.gif';" />