在 Windows 8 中从 Visual Studio 2012 执行程序后,Node.js 控制台立即关闭

问题描述 投票:0回答:8

我已在 Windows 8 PC 中安装了 Node.js,并安装了 Visual Studio 2012 的 Node.js 插件。我从 Visual Studio 2012 执行了一个基本程序,该程序仅在控制台上打印一个字符串

console.log("Hi There");

Node.js 控制台打印“Hi There”并立即终止。谁能提供解决方案吗?

我遇到过类似的问题,除了在代码中使用 setTimeOut() 之外,还有其他方法可以解决这个问题吗? (为什么 Node.js 脚本控制台在 Windows 8 中立即关闭?

javascript node.js visual-studio-2012 windows-8 console-application
8个回答
21
投票

从 Visual Studio 的“调试”菜单中选择“选项”。之后选择“NodeJS Tools”并勾选“进程正常退出时等待输入”复选框。


17
投票

您可以调用批处理文件,而不是直接从 Visual Studio 执行

node app.js

wait.bat app.js

里面的

wait.bat
很简单:

node %1
pause press [enter]

或者,您可以在一行中完成此操作,或者将其包装在模块或函数中:

require('readline')
    .createInterface(process.stdin, process.stdout)
    .question("Press [Enter] to exit...", function(){
        process.exit();
});

它使用当前标记为“不稳定”的 Node 模块来读取来自

stdin
的行输入。但它会忽略输入,然后使用
exit
函数关闭进程。


11
投票
  1. 使用 Tools -> Options 从菜单栏打开 Visual Studio Options 属性页。
  2. 在左侧的菜单树中,选择 Node.js Tools -> General
  3. 勾选“进程正常退出时等待输入

enter image description here


6
投票

之前的回答:

从 Visual Studio 的“调试”菜单中选择“选项”。之后选择“NodeJS Tools”并勾选“进程正常退出时等待输入”复选框。

...如果不调试就运行,似乎可以工作。

调试>启动而不调试 Ctrl-F5


3
投票

这些都不适合我,所以我只是在代码的最后一行设置了一个断点。这是一个尴尬的解决方案,但确实有效。


1
投票

一种简单的跟踪和工作方法可能是,

"Right click on project" -> Open Command Promp Here.
.

并使用

node <filename>
执行文件或使用
npm start

进行项目

希望这有帮助..!


1
投票

适用于所有 Visual Studio 版本。

选项 1

 console.log('Hello world');

setTimeout(function () {
    process.exit();
}, 5000);

0
投票

我有“C:\Program Files 奥德伊斯 ode.exe”检查为“以管理员身份运行此程序”以解决问题。取消选中该框 => 已修复

© www.soinside.com 2019 - 2024. All rights reserved.