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