Vue APP白屏的解决思路之一

19 篇文章 0 订阅
6 篇文章 0 订阅

解决思路

关于APP白屏,我们应该从代码中解决,而不是归类为什么手机任务过多/版本过低等外在的原因。白屏的很大原因在于,代码的错误。解决白屏的关键点就是找到这个报错。 检查代码的错误原因,我们可以看手机的日志。即是,在日志中找到报错并解决它即可。


示例

(一)问题描述
如,我开发中碰到,在开发中没有问题,但是打包后放到安卓手机低版本中就会白屏,看日志,发现了报错:Object.assign is not a function...
所以,可以确定到,代码中es6语法没有完全解析

(二)解决
(1)安装依赖包
> cnpm install --save-dev babel-polyfill 或者 > npm install --save-dev babel-polyfill

(2)webpack配置修改

/* 添加 babel-polyfill */
entry: {
    app: ["babel-polyfill", "./src/main.js"]
 },

总结

真正意义上的修复,是找到错误的原因(什么时候下会白屏,日志有没有报错等),一一排查。即,确定bug原因,修复bug.

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
在 Electron 项目中,如果使用 Vue.js 作为前端框架,在启动应用程序时可能会遇到加载白屏的问题。这通常是由于 Vue.js 构建后的代码需要在本地运行,而 Electron 默认情况下不会加载本地文件。 解决这个问题的方法是在主进程中为 Electron 添加一个本地文件访问协议(file://),并将访问限制设置为允许所有来源。可以在主进程中添加以下代码: ```javascript const {app, BrowserWindow} = require('electron') const path = require('path') app.commandLine.appendSwitch('disable-site-isolation-trials'); app.commandLine.appendSwitch('disable-features', 'OutOfBlinkCors'); function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { webSecurity: false // 允许加载本地文件 } }) // 加载 Vue.js 打包后的 HTML 文件 win.loadFile(path.join(__dirname, 'dist', 'index.html')) // 打开开发者工具 win.webContents.openDevTools() } app.whenReady().then(() => { createWindow() app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow() } }) }) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) ``` 在这个例子中,我们为 `BrowserWindow` 的 `webPreferences` 添加了 `webSecurity: false`,这样就允许加载本地文件了。同时,在 `createWindow` 函数中,我们使用 `loadFile` 方法加载 Vue.js 打包后的 HTML 文件,该文件位于 `dist/index.html`。最后,我们打开开发者工具(`win.webContents.openDevTools()`)以方便调试。 需要注意的是,在生产环境中,应该将 `webSecurity` 设置为 `true`,以避免安全问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

修复儿童缺牙先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值