使用带有Node.js工具的Visual Studio(而非VSCode)创建Electron应用程序

Mik*_*ver 19 visual-studio node.js electron

我正在尝试使用Visual Studio(而不是VSCode)来创建一个简单的Electron应用程序.我是通过Visual Studio(v1.1)扩展的Node.js工具这样做的.我正在使用基本的快速启动应用程序,如果我通过npm启动启动,但如果我通过Visual Studio启动,我在启动时收到以下错误:

'在第一行找不到模块'电子':
const electron = require('electron');

我可以告诉Visual Studio在启动node.js调试器之前首先启动Electron应用程序吗?有没有其他人得到这个设置工作?

Ric*_*h N 43

这个有可能.尝试做以下事情:

  • 在Visual Studio中创建一个空白的Node.js JavaScript控制台应用程序.您需要安装最新版本的节点我认为:我有5.6.0.我正在使用VS 2015.
  • 将依赖项部分添加到已创建的package.json和引用电子.我引用了0.36.2,如下所示:我一直在使用的版本:

    "依赖":{"electron-prebuilt":"0.36.2"},

  • 这将在npm下的解决方案资源管理器中输入一个条目,因此要实际安装它,您可以右键单击/安装npm软件包(或者启动命令提示符并执行npm install).
  • 从GitHub上的electron-quick-start复制代码:创建一个与GitHub相同的index.html,并将快速启动main.js内容粘贴到app.js. 没有必要重命名它.
  • 转到控制台应用程序项目文件的属性.其中显示'节点exe路径:'将路径安装到已安装的electron.exe,该路径位于子文件夹node_modules\electron-prebuilt\dist\electron.exe中.
  • 在app.js的createWindow的第一行放置一个断点.
  • 从调试开始:它将在断点处中断,如果继续,它将显示基本的电子应用程序.

这一切都很好,但它有多大取决于你真正希望Visual Studio为你做什么.它只会在主线程上中断,尽管您可以像往常一样使用Chrome开发工具调试渲染器线程.我发现节点工具应用有点限制.也许其他项目类型之一会更好.

编辑2017年5月:这仍然适用于Visual Studio 2017和电子1.6.6以及当前的电子快速启动,以及Electron自己的快速启动代码.你现在可以安装'电子'而不是'电子预建'("依赖":{"电子":"1.6.6"},).

编辑2017年11月:这种方法停止使用电子1.7.x及更高版本.它仍然适用于电子1.6.x版本,电子仍在发布.在1.7.x及更高版本中,您可以按照上述步骤操作,但在调试开始时Visual Studio不会立即中断.相反,你将不得不另外:

  • 在"项目属性"中的"Node.exe"选项下添加"--inspect-brk".
  • 从调试开始
  • 在Visual Studio中调试/附加到进程,附加到Webkit websocket进程' http://127.0.0.1:5858 '
  • 代码应该中断,你可以继续.

Stack Overflow的另一个答案是更多细节和图片.

  • 对于Visual Studio 2017,我还必须选中"启动时启动Web浏览器"选项. (2认同)