Is it possible to run JavaScript files from the command line? Is it possible to run JavaScript files from the command line? shell shell

Is it possible to run JavaScript files from the command line?


Expanding upon the solution to use Node.js…

Here are some examples and screenshots from a page on Command Line JavaScript.

The Node REPL (Shell)

If you enter node on the command line with no arguments, you'll be in the Read-Eval-Print-Loop, or REPL for short, otherwise known as a shell. Here you can interactively enter JavaScript expressions and have them immediately evaluated.

Node REPL (Shell)

Evaluate a JavaScript file from the command line

Create a file with the following content:

console.log('Hello, world');

From the command line, use node to evaluate the file:

Evaluate a JavaScript file


If your tests need access to a DOM there is always PhantomJS - a headless (Webkit) browser.


I am not saying that it is the best solution but it is one of the available options. I just want to spread awareness and one reason this is how Java runs javascript because it has an embedded JavaScript runtime already for a long time. First there was Rhino, and now, Java SE 8 shipped with a new engine called Nashorn, which is based on JSR 292 and invokedynamic. It provides better compliance with the ECMA normalized JavaScript specification and better runtime performance through invokedynamic-bound call sites. It can be used to run JavaScript programs from the command line. To do so, builds of Oracle’s JDK or OpenJDK include a command-line tool called jjs. It can be found in the bin/ folder of a JDK installation along with the well-known java, javac, or jar tools.

The jjs tool accepts a list of JavaScript source code files as arguments. Consider the following hello.js file:

var hello = function() {  print("Hello Nashorn!");};hello(); 

Evaluating it is as simple as this:

$ jjs hello.jsHello Nashorn!$

For more detail you can refer official documentation http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html