我很困惑。当我使用'npm start'运行电子时,我有一个脚本启动我的节点服务器,然后是电子:'node server / app&&电子。'
除了分辨率非常放大外,一切正常。最重要的是,在main.js文件中设置缩放系数基本上没有效果。
然而,当我手动调用'电子'时。一切正常。分辨率很好,电子响应设置zoomFactor属性。
这是我的main.js文件:
var electron = require('electron'),
app = electron.app,
BrowserWindow = electron.BrowserWindow,
Menu = electron.Menu,
ipcMain = electron.ipcMain;
var socketUtil = require('./server/socket/socket-util');
var url = require('url');
var win;
var forceQuit = false;
var menuTemplate = [{
label: 'Sample',
submenu: [
{label: 'About App', click: function(item, focusedWindow){
focusedWindow.webContents.send('changeState', 'settings.about');
}},
{label: 'Quit', accelerator: 'CmdOrCtrl+Q', click: function() {forceQuit=true; app.quit();}},
{label: 'Reload', accelerator: 'CmdOrCtrl+R', click: function() {win.reload();}},
{
label: 'Toggle Developer Tools',
accelerator: process.platform === 'darwin' ? 'Alt+Command+I' : 'Ctrl+Shift+I',
click: function (item, focusedWindow) {
if (focusedWindow) focusedWindow.webContents.toggleDevTools()
}
},
{label: 'Import Project', click: importProject},
{
label: 'Prefs',
click: function(item, focusedWindow){
focusedWindow.webContents.send('changeState', 'settings.project');
}
}
]
}];
var menu = Menu.buildFromTemplate(menuTemplate);
function importProject() {
win.webContents.send('import:project');
}
function createWindow () {
win = new BrowserWindow({
width: 1200,
height: 750,
webPreferences: {
webSecurity: false,
zoomFactor: 1
}
});
var express = require('./server/app')();
win.loadURL(url.format({
pathname: 'http://localhost:9000'
}));
win.webContents.openDevTools();
win.on('closed', function(e) {
win = null;
})
}
app.on('before-quit', function (e) {
console.log('');
console.log('before-quit');
if(!forceQuit){
console.log('no force quit');
e.preventDefault();
} else {
console.log('yes force quit');
beforeQuitThenQuit();
}
});
app.on('activate-with-no-open-windows', function(){
console.log('');
console.log('activate-with-no-open-windows');
win.show();
});
app.on('ready', function() {
Menu.setApplicationMenu(menu);
createWindow();
});
app.on('window-all-closed', function() {
if (process.platform !== 'darwin') {
console.log('quitting app now.');
forceQuit = true;
app.quit();
}
});
app.on('activate', function() {
if (win === null) {
createWindow()
}
});
function beforeQuitThenQuit() {
socketUtil.resetClientData().then(function() {
console.log('resetClientData promise resolved');
});
}
答案 0 :(得分:0)
我发现我遇到的差异是因为我在全球安装了电子版本1.3.5,而本地我使用的是最新的稳定版本(以及我试过的其他版本)。因此当我使用电子时,npm正在使用本地电子包。'直接命令,我正在使用全局包。
然而,我仍然不确定为什么后来的电子版本没有考虑到zoomFactor。