我正在尝试从Visual Studio代码以调试模式运行应用程序。当我单击“调试”时,会发生以下错误:
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
以前从未听说过这样的模块。
以前曾经工作过,但是突然间它停止工作了。任何人都知道可能是什么问题吗?
答案 0 :(得分:1)
您可能会遇到问题,因为--inspect-brk=15965
被解释为“主要”脚本。
假定生成的命令行类似于noseratio的命令行:
C:/test/node_modules/.bin/electron.cmd --remote-debugging-port=9223 . --inspect-brk=47365
您可以看到--inspect-brk
在声明的args之后,但是,节点参数必须在“ 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"
}
答案 1 :(得分:0)
在运行时可执行文件和Windows:{runtimeexecutable}中,使用“ {workspaceRoot} \\ node_modules \ .bin \\ electron”代替“ $ {workspaceRoot} /node_modules/.bin/electron”,就像您在使用Windows一样。