Moonku 2022-06-16 10:07 采纳率: 50%
浏览 303
已结题

electron child_process打开子进程报错找不到文件

electron-builder --win portable打包成单文件后调用子进程启动内部封装进的一个程序提示找不到文件

require('child_process').exec('start file:///static/w.exe');
其中w.exe放在与src平行的static文件夹下,build后dist/static下面能看到有这个文件w.exe
但是每次运行执行这里的时候就会报 windows找到不文件 file:///static/w.exe,请确认文件是否存在。
除这个外其它一切功能正常。

有人遇到过类似问题吗?是怎么解决的呢?感谢
版本信息如下:
"vue": "^2.5.2",
"vue-router": "^3.0.1"
"electron-serve": "^1.1.0",
"electron": "^19.0.3",
"electron-builder": "^23.0.3",

electron的main.js代码如下:


```javascript
const {app, BrowserWindow, ipcMain, Menu, shell} = require('electron');
const path = require('path');
const url = require('url');

const serve = require('electron-serve');
const loadURL = serve({directory: './dist'});

let mainWindow;
function createWindow() {
  Menu.setApplicationMenu(null);  //隐藏菜单栏
  mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    frame: true,     //隐藏窗口边框
    resizable: false, //禁止调整窗口大小
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false,
      enableRemoteModule: true,
    }
  });

  loadURL(mainWindow);
  //mainWindow.loadURL('app://index.html');
  mainWindow.webContents.openDevTools({ detach: true });  // 自动打开调试台
  mainWindow.on('closed', function () { mainWindow = null; });

  require('child_process').exec('start file:///static/w.exe');
  //shell.openPath('file:///static/Wow.exe');
}

app.on('ready', createWindow);
app.on('window-all-closed', function () { if (process.platform !== 'darwin') app.quit(); });
app.on('activate', function () { if (mainWindow === null) createWindow(); });

const gotTheLock = app.requestSingleInstanceLock()
if (!app.requestSingleInstanceLock()) app.quit(); //防止多开


```

  • 写回答

2条回答 默认 最新

  • 虎子8 2022-06-16 21:35
    关注

    看下你的package.json吧,应该是打包命令的问题。删除--asar 就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 6月16日

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?