我正在尝试使用Electron - 终端模拟器Black-Screen调试Visual Studio Code(vs code)中的typescript应用程序。
我试图通过在vs代码中启动我的应用程序来做到这一点。我在主要的Typescript应用程序文件src/main/Main.ts中设置的断点点正在按预期打破&我可以检查变量值。
电子也正在启动,但黑屏应用程序不会加载电子(我只看到一个电子窗口)。查看空电子窗口的截图。
我可以使用typescript-compiler(tsc)来转换应用程序,并且不会生成任何错误,并且可以在我期望的文件夹中看到已编译的javascript(src / bin /)。我也可以使用npm(“npm start”)成功启动应用程序。
以下是相关的项目配置文件:
的src / tsconfig.json
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"noEmitOnError": true,
"pretty": true,
"jsx": "react",
"sourceMap": true,
"outDir": "bin"
}
}
.vscode / tasks.json文件 注意。在终端“tsc --project src”中执行等效命令会生成没有错误或警告的已转换的js代码。
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"showOutput": "silent",
"args": ["--project", "src"],
"problemMatcher": "$tsc"
}
.vscode / launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Black-Screen",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/src/main/Main.ts",
"stopOnEntry": false,
"cwd": "${workspaceRoot}",
"sourceMaps": true,
"externalConsole": false,
"outDir": "${workspaceRoot}/src/bin",
"runtimeExecutable": "${workspaceRoot}/node_modules/electron-prebuilt/dist/electron",
// Optional arguments passed to the runtime executable.
"runtimeArgs": ["--nolazy"],
// Environment variables passed to the program.
"env": {
"NODE_ENV": "development"
}
}
]
}
请注意。 launch.json配置在调试控制台中生成命令行语句:
/home/michael/development/black-screen/node_modules/electron-prebuilt/dist/electron --debug-brk=3323 --nolazy src/bin/main/Main.js
。
查看调试控制台的屏幕截图。
希望有人遇到与vs code和Electron类似的问题,可以提供帮助:)
答案 0 :(得分:1)
首先,如果你使用
,那将更好"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron"
如果您在Windows或OS X上开发,则会遇到麻烦,因为您必须使用每个环境的可执行文件。
那就是说Electron要求你的应用的outDir
相对于resources/app
。 http://electron.atom.io/docs/tutorial/application-distribution/