vue出現白屏的3種情況:1、把路由模式mode設定成history了;只需改為hash或直接刪除模式配置,如果要用history的話,在服務端加一個覆蓋所有情況的候選資源即可。 2.打包後的dist目錄下的檔案參考路徑不對,會因為找不到檔案而報錯導致白屏;修改一下config下面的index.js中bulid模組導出的路徑即可。 3.專案中用了es6語法,但瀏覽器不支援es6。
本教學操作環境:windows7系統、vue3版,DELL G3電腦。
vue出現白螢幕現象主要幾個原因和解決方法
第一種:由於把路由模式mode設定成history了,預設是hash。
解決方法:改為hash或直接刪除模式配置,如果非要用的話,在服務端加上一個覆蓋所有情況的候選資源。
如果你改成了history模式的話,打開也會是一片空白。所以改為hash或直接把模式配置刪除,讓它預設的就行 。如果要使用history模式的話,需要你在服務端加上一個覆蓋所有的情況的候選資源:如果URL匹配不到任何靜態資源,則應該返回一個index.html,這個頁面就是你app依賴頁面。
第二種:打包後的dist目錄下的檔案引用路徑不對,會因為找不到檔案而報錯導致白屏。
解決方法:修改一下config下面的index.js中bulid模組所導出的路徑。
因為index.html裡邊的內容都是透過script標籤引進的,而你的路徑不對,開啟一定是空白的。先看一下預設的路徑。
build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: './', /** * Source Maps */ productionSourceMap: false, // https://webpack.js.org/configuration/devtool/#production devtool: '#source-map', // Gzip off by default as many popular static hosts such as // Surge or Netlify already gzip all static assets for you. // Before setting to `true`, make sure to: // npm install --save-dev compression-webpack-plugin productionGzip: false, productionGzipExtensions: ['js', 'css'], // Run the build command with an extra argument to // View the bundle analyzer report after build finishes: // `npm run build --report` // Set to `true` or `false` to always turn it on or off bundleAnalyzerReport: process.env.npm_config_report }
assetsPublicPath預設的是 ‘/’ 也就是根目錄。而我們的index.html和static在同一級目錄下面。 所以要改為 ‘./ ’;
如果還是報錯,修改build/webpack.prod.conf.js檔案下webpackConfig,在output屬性中加入 publicPath:"./",重新執行打包。
output: { path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[chunkhash].js'), chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') }
第三種:在專案中使用了es6的語法,有些瀏覽器不支援es6,造成編譯錯誤不能解析而造成白屏
解決方法:安裝Babel ,Babel 會把這些新語法轉譯成較低版的程式碼。
npm install --save-dev @babel/core @babel/cli @babel/preset-env
以上是vue什麼時候會出現白屏的詳細內容。更多資訊請關注PHP中文網其他相關文章!