Node.js 警报导致崩溃
Posted
技术标签:
【中文标题】Node.js 警报导致崩溃【英文标题】:Node.js Alert Causes Crash 【发布时间】:2012-07-22 00:55:33 【问题描述】:我正在尝试创建一个 node.js 应用程序和
alert('Sample Alert');
导致我的程序崩溃。节点说
ReferenceError: 未定义警报
然后退出。在常规 html 页面上运行 javascript 时,我可以使用 alert
函数,所以我不明白为什么会这样......这是我必须与 node.js 一起使用的单独模块吗?
【问题讨论】:
this 之外的任何东西都不是常规的 javascript @Esailija - 技术上常规的 JavaScript应该 有alert
,因为 JavaScript 是 ECMAScript 的一个分支,通常在浏览器中实现。你的意思可能是 ECMAScript。
【参考方案1】:
alert()
函数是浏览器window
对象的属性。它实际上并不是 JavaScript 的一部分。它只是该环境中 JavaScript 代码可用的工具。
试试console.log("Hello World");
【讨论】:
你的问题没有任何意义,真的。您的服务器代码可以将错误作为对 HTTP 请求的响应的一部分发送出去,然后,在客户端浏览器中运行的一些 单独 JavaScript 代码可以显示警报。这与构成服务器端应用程序的 JavaScript 代码几乎没有直接关系。【参考方案2】:alert()
函数仅在您在浏览器窗口的特殊上下文中执行 JavaScript 时可用。它可以通过window
对象获得。
Node.js 不适用于(直接)编写桌面应用程序。它主要用于编写服务器端 JavaScript 应用程序。如果您想开发真正的桌面应用程序,可以使用以下框架/包(以及更多)。
ElectronNW.js(以前是 node-webkit)
NW.js 是基于
Chromium
和node.js
的应用运行时。您可以使用 NW.js 以 HTML 和 JavaScript 编写本机应用程序。它还允许您直接从 DOM 调用 Node.js 模块,并启用一种使用所有 Web 技术编写本机应用程序的新方法。
AppJS
可作为独立发行版和 npm 包使用
同时,您可以使用console.log()
在 Node.js 中输出消息。
console.log('hello');
【讨论】:
【参考方案3】:虽然这些答案是“正确的”,因为在浏览器之外没有可用的警报功能,你没有理由不能创建一个然后使用它:
node -e "function alert(x)
x === 'undefined' ? console.log('undefined') : console.log(x); return;
;
alert('x'); alert();"
结果:
x
undefined
那么您可能不需要更改现有代码或示例或其他任何内容。
【讨论】:
【参考方案4】:您还需要代码来等待密钥。这是一个开始:
process.stdin.on('char', function()
var chunk = process.stdin.read();
if (chunk !== null)
process.stdout.write('data: ' + chunk + 'got?\n');
);
【讨论】:
【参考方案5】:警报功能适用于浏览器。表示前端..在 nodejs 中用于在 cmd 或 bash 中打印你应该使用这个..
console.log("Sample alert");
您可以在这里打印任何变量或常量...打印变量只需删除引号
【讨论】:
【参考方案6】:alert()
属性仅允许浏览器使用,JavaScript 不允许使用。
【讨论】:
【参考方案7】:我没有看到它记录在哪里,但我一直在我的 react-native
代码中使用 global.alert()
。我将它用于调试目的,因为我正在运行 Appium
测试,所以我无权访问 console.log()
输出。
【讨论】:
以上是关于Node.js 警报导致崩溃的主要内容,如果未能解决你的问题,请参考以下文章