# 问题记录
# 1. electron-vue打包后样式变大以及不同分辨率屏幕适配问题
原文链接 (opens new window)
打包之后发现界面的样式和本地界面样式不一样,整体偏大一些,装到另一台电脑,发现差别更大了。怀疑是屏幕分辨率适配的问题,试了一下,果然如此。
解决方案:先读取电脑屏幕的系统分辨率,然后做一下缩放适配,这样在不同的电脑上显示效果都一样了。
// 主进程 src/main/index.js
import { screen } from 'electron'
function onAppReady() {
ipcMain.on('get-window-config-size', (event) => {
const scaleFactor = screen.getPrimaryDisplay().scaleFactor
event.reply('get-window-config-size', scaleFactor)
})
}
// 子进程 src/renderer/App.vue
import { webFrame } from 'electron'
created () {
if (process.env.NODE_ENV !== 'development') {
ipcRenderer.send('get-window-config-size')
ipcRenderer.once('get-window-config-size', (event, scaleFactor) => {
const devInnerHeight = 1080.0 // InnerHeight
const devDevicePixelRatio = 1.0 // devicepixelratio
const devScaleFactor = 1.6 // 调整这个值
const zoomFactor = (window.innerHeight / devInnerHeight) * (window.devicePixelRatio / devDevicePixelRatio) * (devScaleFactor / scaleFactor)
webFrame.setZoomFactor(zoomFactor)
})
}
}