我今天嘗試編譯一個(gè)Angular4的應(yīng)用,并部署到服務(wù)器的一個(gè)路徑上去虱黄,由于不是根路徑因此我使用了下面的語(yǔ)句:
ng build -prod -bh /rel
自然的Angular應(yīng)用index.html里的語(yǔ)句就變成了:
<base href="/rel">
但余掖,當(dāng)我用http://localhost:8080/rel打開(kāi)網(wǎng)頁(yè)時(shí)卻提示Loading...,打開(kāi)調(diào)試發(fā)現(xiàn)js路徑?jīng)]找到礁鲁,base標(biāo)簽沒(méi)有生效,上網(wǎng)自學(xué)一番收獲如下:
https://stackoverflow.com/questions/11521011/why-base-tag-does-not-work-for-relative-paths
總結(jié)得票最高的:
- base配合相對(duì)路徑使用赁豆,不要在路徑前使用/仅醇,這不是相對(duì)路徑,這是相對(duì)于Root的絕對(duì)路徑魔种;
- href后面跟反斜杠/析二,表明這是一個(gè)目錄
我上面的問(wèn)題即在/rel后面加反斜杠完成。