为什么当使用asar标志打包时,electron应用程序无法找到R文件的正确路径?

为什么当使用asar标志打包时,electron应用程序无法找到R文件的正确路径?,electron,electron-packager,asar,Electron,Electron Packager,Asar,我试图在一个electron应用程序中从JS调用R,该应用程序的控制台记录R版本和pwd。当使用electron builder和electron packager在没有asar标志的情况下进行打包时,它可以完美地工作(参见下面的屏幕截图) 但是,当我使用asar构建时,我没有得到预期的输出(参见下面的屏幕截图) 主要的问题是,应用程序没有获得R文件的正确路径(请参见下面的屏幕截图) 尽管如此,我还是使用path动态构建了文件路径 复制错误 在windows 10中,从以下位置下载源代码 假

我试图在一个electron应用程序中从JS调用R,该应用程序的控制台记录R版本和pwd。当使用electron builder和electron packager在没有asar标志的情况下进行打包时,它可以完美地工作(参见下面的屏幕截图)

但是,当我使用asar
构建时,我没有得到预期的输出(参见下面的屏幕截图)
主要的问题是,应用程序没有获得R文件的正确路径(请参见下面的屏幕截图)

尽管如此,我还是使用
path
动态构建了文件路径

复制错误

  • 在windows 10中,从以下位置下载源代码
  • 假设您已经在ImShot_App_minimal文件夹run的vscode终端中安装了vscode,node.js
  • 然后运行
    纱线运行构建--asar
  • 运行
    imshot-minimal-win32-x64\imshot-minimal.exe
    并在控制台日志中检查R文件的路径
  • 要获得预期结果,请运行步骤4,但不带--asar标志
  • 走错路的原因是什么?如何解决这个问题


    谢谢

    使用路径时,您是否遇到实际错误?Electron中的一些节点模块以一种将app.asar
    视为虚拟目录()的方式进行了修补。您所说的实际错误到底是什么意思?除了控制台日志之外,我不知道如何调试应用程序,从控制台日志中可以清楚地看到,在使用asar时,R路径与对应的asar路径非常不同。所以,我想这可能就是原因。如果您知道任何其他方法来找出实际错误,请分享。谢谢