I'm trying to create a node.js app and
alert('Sample Alert');
is causing my program to crash. Node says
ReferenceError: alert is not defined
and then quits. I can use the alert
function when running javascript on a regular html page, so I'm at a loss to understand why this is... Is this a separate module that I have to use with node.js?
Thanks in advance.
The alert()
function is a property of browser window
objects. It is not really part of JavaScript; it's just a facility available to JavaScript code in that environment.
Try console.log("Hello World");
alert()
function is only available when you execute JavaScript in the special context of browser windows. It is available through the window
object.
Node.js is not intended for writing desktop applications (directly). It is mainly intended for writing server-side JavaScript applications. You can use following frameworks/packages if you want to develop true desktop applications.
Available as an standalone distributable and an npm package
node-webkit is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScript with node-webkit. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies.
Meanwhile, you can use console.log()
to output a message in Node.js.
While these answers are "correct", as there is no alert function available outside of the browser, there's no reason you can't create one and then use it:
node -e "function alert(x){
x === 'undefined' ? console.log('undefined') : console.log(x); return;
};
alert('x'); alert();"
results:
x
undefined
Then you might not need to change your existing code or example or whatever.
You'll also need code to wait for a key. Here's a start:
process.stdin.on('char', function() {
var chunk = process.stdin.read();
if (chunk !== null) {
process.stdout.write('data: ' + chunk + 'got?\n');
}
});