java web 刷新白屏_vue框架开发出现页面空白、白屏的解决方法总汇

1.npm run build打包页面空白

我们会发现页面head中引用的js和css文件是出现了路径错误,这里修改如下:

解决位置:config/index.js文件:把assetsPublicPath: '/'改为assetsPublicPath: './'

build: {

assetsPublicPath: './',

}

2. iOS的Safari下无法打开网页

webpack-dev-server >= 2.8.0 的版本在 iOS Safari 下无法打开网页,效果为白屏。

控制台报错:Can't find variable: SockJS 应该是 Safari 的 BUG,比如下面的代码就会抛出

Error eval("const a = function () {}; function b() { a(); }; b();")

解决方法

1.使用老版本

yarn add webpack-dev-server@~2.7.0 -D

2.其它方法

yarn add babel-plugin-transform-es2015-block-scoping -D

修改 webpack 相关配置

{

test: /\.js$/,

loader: 'babel-loader',

include: [

...,

/node_modules\/webpack-dev-server/

]

}

3.升级vue2+部分手机访问出现页面空白

npm run dev后可能出现无法加载到路由模板的信息。

解决位置:config/index.js文件:把 devtool: '#eval-source-map' 改为devtool:'inline-source-map'

dev: {

devtool:'inline-source-map',

}

4.升级vue2+IP访问页面空白

默认只能通过localhost或者127.0.0.1才能访问,如果使用本机的Ip地址会出现无法访问到的情况。

解决位置:config/index.js文件:把config/index.js中“host” 配置为“0.0.0.0”就可以解决,或者设置为你电脑的IP地址也行:

dev: {

host: '192.168.10.122',

}

5.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 = {

entry: {

app: ["babel-polyfill", "./src/main.js"]

}

};

6.Vue只在iOS 10出现白屏问题

a:出现变量定义两次的错误描述,如下:

SyntaxError: Cannot declare a let variable twice

原因是由于ios 10中Safari中错误描述如下:当你定义一个与参数同名的for循环迭代变量时,我们错误地认为这是一个语法错误。解决方法如下:

找到webpack.prod.conf.js文件,在UglifyPlugin的定义里添加关于mangle的选项

new UglifyJsPlugin({

uglifyOptions: {

compress: {

warnings: false

},

mangle: {

safari10: true

}

},

sourceMap: config.build.productionSourceMap,

parallel: true

}),

b:使用Swiper插件:这是由于Swiper插件中用到了ES6的语法a = b ** c,a是b的c次方,而iOS 10的Safari里不认识这样的语法,认为这是一个错误,所以你需要让Swiper经过babel的包装,而缺省状态下babel是不对node_modules里的模块进行编译的。解决方法是在项目根目录下新建一个文件vue.config.js,在里面添加如下语句:

module.exports = {

chainWebpack: config => {

config.rule('js').include.add(/node_modules\/(dom7|swiper)\/.*/)

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值