找不到模块 {applicationPath}。

4
我想在Visual Studio Code中以调试模式运行一个应用程序。当我点击“调试”时,出现以下错误:
A JavaScript error occurred in the main process

Uncaught Exception:
Error: Cannot find module 'C:\electron2\electron_app\--inspect-brk=15965'
    at Module._resolveFilename (internal/modules/cjs/loader.js:602:15)
    at Function.Module._resolveFilename (C:\electron2\electron_app\node_modules\electron\dist\resources\electron.asar\common\reset-search-paths.js:35:12)
    at Function.Module._load (internal/modules/cjs/loader.js:528:25)
    at Module.require (internal/modules/cjs/loader.js:658:17)
    at init (C:\electron2\electron_app\node_modules\electron-compile\lib\config-parser.js:294:16)
    at main (C:\electron2\electron_app\node_modules\electron-prebuilt-compile\lib\es6-init.js:58:29)
    at Object.<anonymous> (C:\electron2\electron_app\node_modules\electron-prebuilt-compile\lib\es6-init.js:61:1)
    at Object.<anonymous> (C:\electron2\electron_app\node_modules\electron-prebuilt-compile\lib\es6-init.js:63:3)
    at Module._compile (internal/modules/cjs/loader.js:711:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:722:10)
我的调试配置看起来像这样。
{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "Debug",
        "type": "node",
        "request": "launch",
        "cwd": "${workspaceRoot}",
        "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
        "windows": {
          "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
        },
        "args" : ["."]
      }
    ]
  }
另外还捕获了一个错误:
No such module: atom_browser_features

我以前从未听说过这个模块。

以前可以使用,但突然间就不能用了。有人知道问题可能是什么吗?


1
看起来是他们在v3.0.x中引入的一个bug。考虑在他们的github上创建一个问题。值得注意的是,如果在Google上搜索“atom_browser_features”,除了这个问题之外,什么都没有出现。 - noseratio - open to work
1
似乎--inspect-brk=15965被解释为“主”脚本。查看VSCode在调试器下运行电子时生成的命令将非常有用。 - Jake Holzinger
1
“Debug Console”视图的第一行输出是我在引用的命令。使用electron-quick-start项目,当我运行“调试主进程”配置时,我会得到以下命令:G:\Development\vscode-electron-debug\electron-quick-start/node_modules/.bin/electron.cmd --inspect-brk=32785 main.js。我也没有问题在electron@3.0.8下运行快速启动应用程序,所以问题可能出在别处。 - Jake Holzinger
1
@JakeHolzinger,应该是 C:/test/node_modules/.bin/electron.cmd --remote-debugging-port=9223 . --inspect-brk=47365升级到v3.0.8似乎已经解决了这个问题,谢谢! 如果在Debug View(F1,“Focus on Breakpoints View”)中勾选“All Exceptions”,然后开始调试,您仍然应该看到这些错误,但它们不再影响我的其余调试会话。我认为可以安全地忽略它们,因为它们是被稍后捕获的一次性异常。随时发布回答以获取赏金 :) - noseratio - open to work
1
没问题。你认识伊戈尔,是吗?世界真小 :) 好的! - Jake Holzinger
显示剩余3条评论
2个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
1

你可能遇到了问题,因为--inspect-brk=15965被解释为“主”脚本。

假设命令行生成类似于noseratio的:

C:/test/node_modules/.bin/electron.cmd --remote-debugging-port=9223 . --inspect-brk=47365
你可以看到--inspect-brk在声明的参数之后,然而,node参数必须在“main”脚本之前声明。你可以尝试升级到electron@3.0.8,看看问题是否解决。或者,你可以像electron-quick-start项目那样更明确地指定入口点。
{
    "name": "Debug Main Process",
    "type": "node",
    "request": "launch",
    "cwd": "${workspaceRoot}",
    "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
    "windows": {
      "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
    },
    "program": "${workspaceRoot}/main.js",
    "protocol": "inspector"
}

谢谢您的建议。我尝试了(升级电子+更改配置),但不幸的是它没有帮助。也无法通过命令行运行应用程序。我在那里得到的错误是:const app = electron.app || electron.remote.app; 的行是 TypeError: Cannot read property 'app' of undefined - michal.jakubeczy

0

在runtimeexecutable和windows : {runtimeexecutable}中,不要使用"${workspaceRoot}/node_modules/.bin/electron",改用"{workspaceRoot}\\node_modules\.bin\\electron"。我猜你在使用Windows。


谢谢,但没有帮助。 - michal.jakubeczy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,