我今天尝试编译一个Angular4的应用,并部署到服务器的一个路径上去,由于不是根路径因此我使用了下面的语句:
代码语言:javascript复制ng build -prod -bh /rel
自然的Angular应用index.html里的语句就变成了:
代码语言:javascript复制<base href="/rel">
但,当我用http://localhost:8080/rel打开网页时却提示Loading...,打开调试发现js路径没找到,base标签没有生效,上网自学一番收获如下:
https://stackoverflow.com/questions/11521011/why-base-tag-does-not-work-for-relative-paths
总结得票最高的:
- base配合相对路径使用,不要在路径前使用/,这不是相对路径,这是相对于Root的绝对路径;
- href后面跟反斜杠/,表明这是一个目录
我上面的问题即在/rel后面加反斜杠完成。
原文地址:http://blog.techcave.cn/2017/08/30/html的base标签为什么不起作用/