vuepress打包之后頁面樣式丟失問題的兩種解決方式
問題描述
最近打算使用vuepress為公司項目集成一下前端開發(fā)文檔,在打包的時候遇到了樣式丟失的問題,在網絡上參考了一些解決方案,記錄一下自己遇到的問題
1.集成打包之后,打開入口文件展示頁面如下:
2.在本地直接運行的頁面是沒有問題的,
如圖,只是打包之后樣式丟失:
3.關于打包的dist文件目錄結構如下:
dist │ 404.html │ index.html // 入口文件 │ ├─assets │ ├─css │ │ 0.styles.3294b3f2.css │ │ │ ├─img │ │ search.83621669.svg │ │ │ └─js │ 2.733019b2.js │ 3.b92b6444.js │ 4.fc333d27.js │ 5.d58e9858.js │ 6.2d0a63f8.js │ 7.9c9172a7.js │ 8.9e1014e2.js │ app.972414f3.js │ └─guide index.html
解決方案
解決方案有兩種,可以自行選擇,vuepress我安裝的版本如下,vuepress的路由模式寫的是history模式,所以解決方案主要是面向兩種不同模式(hash / history)
"vuepress": "^1.9.9" // 我安裝的時候最新版本是1.9.9,^符號表示每次install都升級到最新版本
方案一 hash模式
1.修改依賴文件更改路由模式:在依賴文件夾node_modules下找到@vuepress,打開如圖所示的app.js文件夾,將文件夾中的mode:history注掉,使用默認的hash模式
2.修改vuepress的config.js文件,主要更改的是base的這個配置項,base配置項在官網已經說得很明白了,可以去看一下,由于配置的默認base是’/‘即根目錄,從根目錄直接讀取樣式文件自然是找不到的,所以在這里改成相對路徑’./’
module.exports = { title: '開發(fā)文檔', description: '開發(fā)文檔', base: './', // 使用相對路徑,讀取相對路徑下的靜態(tài)文件 };
打包,本地訪問入口文件,樣式沒有丟失的問題,發(fā)布到服務器上樣式也正常,問題解決。
方案二 history模式
考慮到在實際開發(fā)中,多人維護文檔,每個人都去改vuepress的路由模式有點麻煩,所以只需要修改config.js文件的base配置項即可
module.exports = { title: '開發(fā)文檔', description: '開發(fā)文檔', base: '/project-docs/', // project-docs可以隨意更改,主要看自己的文件放在服務器上的文件路徑 };
比如nginx配置的location如下, 那么我們通過服務端口去訪問的時候,找的是根目錄html下的project-docs文件夾讀取對應的靜態(tài)文件
location /project-docs { root html; index index.html index.htm; }
修改完成后直接進行打包,在本地訪問index.html還是會樣式丟失的,但是問題不大,放上服務器后就可以正常訪問了。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue中使用vue2-perfect-scrollbar制作滾動條
這篇文章主要介紹了Vue中使用vue2-perfect-scrollbar滾動條,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06el-form表單el-form-item驗證規(guī)則里prop一次驗證兩個或多個值問題
這篇文章主要介紹了el-form表單el-form-item驗證規(guī)則里prop一次驗證兩個或多個值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05Vue 按照創(chuàng)建時間和當前時間顯示操作(剛剛,幾小時前,幾天前)
這篇文章主要介紹了Vue 按照創(chuàng)建時間和當前時間顯示操作(剛剛,幾小時前,幾天前),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09