我項目快完了的時候,上帝讓作seo耍属,然后用了這個 prerender-spa-plugin
然鵝矾兜,百度上人人都說成功了的方法幼苛,我已用就遇到坑了,將靜態(tài)頁面轉(zhuǎn)化為html之后刷新就會變成下面這個樣子
我先描述下問題焕刮,問題一舶沿,router中mode:history之后,在ngnix的server下配置了這個
location / {
root C:\Users\Administrator\Desktop\enassHtml;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
嗯~ o( ̄▽ ̄)o配并,這個在沒有做seo的時候是木有問題的括荡,但是用了之后的結(jié)果是很感人的,百度出來的結(jié)果都是溉旋,你選擇打包的靜態(tài)界面畸冲,打包之后dist文件夾里面有你需要打包的文件夾然后里面有一個html文件,如'/serviceHome'观腊,打包之后的路徑是dist->serviceHome->index.html
之后絕望降臨邑闲,更新服務(wù)器,你可以看到他成功實現(xiàn)了梧油,但是你一刷新苫耸,立馬出現(xiàn)如上問題。一個是多了一個斜線儡陨,一個是js褪子,css沒有加載,能力有限骗村,針對于第二個問題找到了一種很lou的解法嫌褪,退出來給實在沒有辦法的人一個參考
正確的路徑
這里可以看出是路徑的問題,然后沒有找到有效胚股,簡單的解決方法
目前的方法是修改打包的文件里面如serviceHome這個的html中相關(guān)的路徑
啊笼痛,其他好的解決方法留給廣大網(wǎng)有吧,
然后我最終的解決方式是棄用子路由琅拌,使用組件的方式缨伊,我的頁面是有幾個界面的切換的,之前我用v-if來進(jìn)行展示财忽,然后發(fā)現(xiàn)只有第一塊的能展示出來倘核,然后使用display:none,然后能用了(感覺我的方法只是用我的項目),最后,希望有大神能看到這個問題即彪,幫忙解決一下紧唱,非常感謝