Node.js 警报导致崩溃

IT技术 javascript node.js alert
2021-03-14 02:19:44

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

alert('Sample Alert');

导致我的程序崩溃。节点说

参考错误:警报未定义

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

6个回答

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

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

你问的没有任何意义,真的。您的服务器代码可以将错误作为对 HTTP 请求的响应的一部分发送出去,然后反过来,在客户端浏览器中运行的一些单独的JavaScript 代码可以显示警报。这与组成服务器端应用程序的 JavaScript 代码几乎没有直接关系。
2021-05-15 02:19:44

alert()函数仅在您在浏览器窗口的特殊上下文中执行 JavaScript 时可用。它可以通过window对象获得。

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

  • 电子
  • NW.js(以前是 node-webkit)

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

  • 应用程序JS

    可作为独立的分发包和 npm 包使用


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

console.log('hello');

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

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

结果:

x
undefined

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

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

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

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

console.log("Sample alert");

您可以在此处打印任何变量或常量...打印变量只需删除引号