Node.js警报导致崩溃

时间:2012-07-23 18:39:07

标签: javascript node.js alert alertdialog

我正在尝试创建一个node.js应用程序和

alert('Sample Alert');

导致我的程序崩溃。 Node说

  

ReferenceError:未定义警报

然后退出。我可以在常规html页面上运行javascript时使用alert函数,所以我无法理解为什么这是...这是一个单独的模块,我必须与node.js一起使用吗? / p>

提前致谢。

7 个答案:

答案 0 :(得分:57)

alert()函数是浏览器window对象的属性。它不是JavaScript的一部分;它只是该环境中JavaScript代码可用的工具。

尝试console.log("Hello World");

答案 1 :(得分:8)

只有在浏览器窗口的特殊上下文中执行JavaScript时,才能使用

alert()函数。它可以通过window对象获得。

Node.js不用于编写桌面应用程序(直接)。它主要用于编写服务器端JavaScript应用程序。如果要开发真正的桌面应用程序,可以使用以下框架/包(以及更多)。

  • Electron
  • NW.js(以前,node-webkit)

      

    NW.js是基于Chromiumnode.js的应用运行时。您可以使用NW.js以HTML和JavaScript编写本机应用程序。它还允许您直接从DOM调用Node.js模块,并启用一种使用所有Web技术编写本机应用程序的新方法。

  • AppJS

      

    作为独立的可分发和npm包提供


同时,您可以使用console.log()在Node.js中输出消息。

console.log('hello');

答案 2 :(得分:0)

虽然这些答案是“正确的”,但由于浏览器外没有可用的警报功能,因此您无法创建一个然后再使用它:

node -e "function alert(x){ 
            x === 'undefined' ? console.log('undefined') : console.log(x); return; 
         }; 
         alert('x'); alert();"

结果:

x
undefined

然后您可能不需要更改现有代码或示例或其他任何内容。

答案 3 :(得分:0)

您还需要代码来等待密钥。这是一个开始:

process.stdin.on('char', function() {
  var chunk = process.stdin.read();
  if (chunk !== null) {
    process.stdout.write('data: ' + chunk + 'got?\n');
  }
});

答案 4 :(得分:0)

警报功能适用于浏览器。意思是前端..在用于在cmd或bash中打印的nodejs中你应该使用这个..

console.log("Sample alert");

你可以在这里打印任何变量或常量...打印变量只需删除逗号..

答案 5 :(得分:0)

只有浏览器不允许使用alert()属性。

答案 6 :(得分:0)

我没有看到文档的记录位置,但是我在global.alert()代码中一直使用react-native。我将其用于调试目的,因为我正在运行Appium测试,因此无法访问console.log()输出。

相关问题