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

JavascriptShellConsole

Javascript Problem Overview


I have several JS files so instead of copy and paste every one in the console window (Firefox and Chromium), I would want to call them from the shell if it is possible.

Every JS file has test functions that show if they are correct using console.log.

Javascript Solutions


Solution 1 - Javascript

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

Solution 2 - Javascript

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

Solution 3 - Javascript

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.js
Hello Nashorn!
$

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

Solution 4 - Javascript

Yeah, It can be possible with node. Just create a js file, write some code, save that and go to the directory where you have saved your file, then enter node <your file_name>. You are done. Note: You must have node installed on your system.

Solution 5 - Javascript

You can do this using node.js. You can run each file separately, but of course I'm assuming there's no dependency between files.

This https://stackoverflow.com/questions/686377/windows-command-line-javascript discusses using Windows Scripting Host if you're on Windows and don't want to install Node. But Node is probably the better bet for standardized js (it uses the v8 Javascript engine).

Solution 6 - Javascript

For those in hurry and on Windows, just try the following commandline in the command prompt:

cscript /E:jscript myJavaScriptFile.js

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser1243746View Question on Stackoverflow
Solution 1 - JavascriptBeau SmithView Answer on Stackoverflow
Solution 2 - JavascriptMattView Answer on Stackoverflow
Solution 3 - JavascriptRohit LuthraView Answer on Stackoverflow
Solution 4 - JavascriptKiran Kumar ChirravuriView Answer on Stackoverflow
Solution 5 - JavascriptcraigmjView Answer on Stackoverflow
Solution 6 - JavascriptprimehunterView Answer on Stackoverflow