Node.js Alert Causes Crash

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.

  • AppJS

    Available as an standalone distributable and an npm package

  • node-webkit

    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');
  }
});