create-react-app創建的項目npm run build之后,運行build中的index.html,什么都沒顯示,打開瀏覽器的F12,發現了幾個紅色的報錯,提示幾個文件找不到。
查看生成的index.html,發現,里面引用的js和css的路徑都是以 "/...." 開頭的。這樣寫就是絕對路徑了,當然找不到。
正常的應該是相對路徑,手動把index.html中的引用文件路徑最開始的“/”符號挨個去掉,刷新頁面果然成功顯示了。
但總不能每次build以后都手動修改吧。
正確的修改方式在下面:
找到根目錄下config文件夾里面的paths.js文件,找到以下這個函數。其中的 '/' 改為 './' 即可
function getServedPath(appPackageJson) { const publicUrl = getPublicUrl(appPackageJson); const servedUrl = envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : '/'); return ensureSlash(servedUrl, true); }
修改完以后,重新運行npm run build,就發現正常了。