vue項目白屏問題匯總


1,ios10 出現白屏

原因是由於ios 10中Safari中錯誤描述如下:當你定義一個與參數同名的for循環迭代變量時,我們錯誤地認為這是一個語法錯誤。解決方法如下:

進入build文件夾;
找到webpack.prod.conf.js文件;
在UglifyPlugin的定義里添加關於mangle的選項,使它變成下面這個樣子

new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
},
mangle: {
safari10: true
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),

2,Swiper插件導致白屏

解決方法是在項目根目錄下新建一個文件vue.config.js,在里面添加如下語句:

module.exports = { chainWebpack: config => {
config.rule(‘js’).include.add(/node_modules/(dom7|swiper)/.*/) } }

3,npm run build打包頁面空白

打包后,我們直接本地打開dist文件夾下的index.html文件,結果白屏了!我們會發現頁面head中引用的js和css文件是出現了路徑錯誤,這里修改如下:

解決位置:config/index.js
文件:把assetsPublicPath: '/'改為assetsPublicPath: './'

build: {undefined
assetsPublicPath: ‘./’,
}

4,升級vue2+部分手機訪問出現頁面空白

npm run dev后可能出現無法加載到路由模板的信息。

解決位置:config/index.js文件:把 devtool: ‘#eval-source-map’ 改為devtool:‘inline-source-map’

devtool: ‘#eval-source-map’ 
//改為
devtool:‘inline-source-map’

5,升級vue2+IP訪問頁面空白

默認只能通過localhost或者127.0.0.1才能訪問,如果使用本機的Ip地址會出現無法訪問到的情況。

解決位置:config/index.js文件:把config/index.js中“host” 配置為“0.0.0.0”就可以解決,或者設置為你電腦的IP地址也行;

6,Vue在IE、低版本Android顯示空白問題

這是由於IE對promise的支持不好,我們需要安裝:babel-polyfill和es6-promise:

npm install babel-polyfill
npm install es6-promise

然后在main.js文件中引用:

import 'babel-polyfill'
import Vue from 'vue'
import Es6Promise from 'es6-promise'
Es6Promise.polyfill()

最后 build/webpack.base.conf.js 文件中配置如下:

module.exports = {undefined
entry: {undefined
app: [“babel-polyfill”, “./src/main.js”]
} };

通過以上方法,已經基本上能夠解決你遇到的大部分白屏問題,但是很可能仍然有部分小蘋果還是顯示白屏,往下看:

1.於是開始理性的分析,首先白屏的原因與靜態資源沒加載相關,所以優先排查打包后的index.html文件,發現文件里面引用資源的路徑都沒有引號,會不會是 打包后沒帶引號引起的?
需要在webpack.prod.conf.js 找到minify參數
將 removeAttributeQuotes: true
改為 removeAttributeQuotes: false
打包后,已經自動添加了引號。

2.這時候,打開你打包后的頁面,你可能會碰到頁面上部分內容是空白的情況,咦?這是啥子情況?一般出現這種情況,都是因為你將靜態圖片資源作為了background,打包后路徑有誤導致的。
打開build文件夾下的utils.js文件,找到下面這段代碼,添加publicPath,修改成如下內容:

if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        publicPath: '../../',
        fallback: 'vue-style-loader'
      })
    }

搬運地址:https://blog.csdn.net/zhongguohaoshaonian/article/details/88944449

以上修改之后,還是不行

我修改了index.html的script引用,絕對地址改成相對地址,就好了

后來頁面又莫名其妙失蹤了,我做了如下修改

new UglifyJsPlugin({
      uglifyOptions: {
        safari10: true,// iOS10適配 +
        compress: {
          warnings: false,
        },
      },
      sourceMap: config.build.productionSourceMap,
      parallel: true,
    }),

搬運地址:https://blog.csdn.net/qq_36235241/article/details/122955994


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM