如何通过终端运行JavaScript脚本?

例如,如果你要运行一个Python脚本,你会键入python filename.py,或者如果你想运行一个C程序使文件名,那么。/文件名。如何用. js文件做到这一点?

517107 次浏览

如果你有MacOS,你可以通过在Terminal.app中输入jsc来获得一个javascript控制台:

/System/Library/Frameworks/JavaScriptCore.framework/Versions/Current/Helpers/jsc

在旧版本的OS X上,约翰逊航天中心命令位于:

/System/Library/Frameworks/JavaScriptCore.framework/Versions/Current/Resources/jsc

你也可以运行你的.js脚本,通过添加它的名字作为jsc的参数,就像这样:

jsc your_awesome_script_name.js

请注意:我在开发过程中使用console.log(),但jsc需要debug()函数代替。

Ubuntu上,你可以使用一些不错的ECMAScript贝壳。在它们之间值得一提的是SpiderMonkey。你可以通过sudo apt-get install spidermonkey添加它

窗户上,正如其他人所说,你可以依赖cscriptwscript直接构建在操作系统上。

我还会添加另一个:)对问题的思考方式,如果你有时间并且喜欢学习新东西,我想提到coffee-script,它有自己的编译器/控制台,并为你提供超级正确的Javascript。你也可以在你的浏览器上尝试一下(链接“try coffeescript”)。

2021年7月更新: 你也可以安装和使用出色的QuickJS,它在OS X上可以通过brew install quickjs安装。然后一个交互式控制台将在你的提示符qjs

可用

你需要一个JavaScript引擎(比如Mozilla的犀牛)来计算脚本——就像你对Python做的一样,尽管后者是随标准发行版发布的。

如果您已经安装了Rhino(或其他选项),并且在您的路径上,那么运行JS确实可以非常简单

> rhino filename.js

值得注意的是,虽然JavaScript本身就是一种语言,但许多特定的脚本都假定它们将在类似浏览器的环境中执行——因此尝试访问全局变量,如location.href,并通过附加DOM对象而不是调用print来创建输出。

如果你有一个为网页编写的脚本,你可能需要包装或修改它,以允许它接受来自stdin的参数并写入到stdout。(我相信Rhino有一个模式来模拟标准的浏览器全局变量,这很有帮助,尽管我现在找不到这个文档。)

如果您使用的是Windows PC,则可以使用WScript.exe或CScript.exe

只要记住你不是在浏览器环境中,所以像document.write或任何依赖于window对象的东西都不能工作,比如window.alert。相反,你可以调用WScript.Echo将内容输出到提示符。

http://msdn.microsoft.com/en-us/library/9bbdkx3k(VS.85).aspx

或者,如果你只是想玩Javascript,一个很好的浏览器选项是Codecademy是 Javascript实验室。

他们也有Python和Ruby IDE。

使用node.js来实现,下面是如何在mac上使用brew安装node的例子:

brew update && install node

然后输入node filename.js运行程序,然后可以使用console.log()进行输出。

我也试着研究,但最终使用Remy Sharp的jsconsole.com(他还创建了jsbin.com)。我在Ubuntu 12.10上运行,所以我不得不创建一个特殊的图标,但如果你在Windows上使用Chrome,只需去工具>创建应用程序快捷方式(注意这不是很好,或者在我的情况下,在Ubuntu上)。这个网站非常像Mac jsc控制台:实际上它也有一些很酷的功能(比如从URL加载库/代码),我猜jsc没有。

希望这能有所帮助。

另一个答案是NodeJS!

Node.js是一个基于Chrome的JavaScript运行时构建的平台,可以轻松构建快速、可扩展的网络应用程序。Node.js使用事件驱动的非阻塞I/O模型,这使得它轻量级且高效,非常适合跨分布式设备运行的数据密集型实时应用程序。

使用终端时,你可以使用node命令启动它。

$ node
> 2 + 4
6
>

< em >注意:如果你想退出,只需输入

.exit

你也可以像这样运行JavaScript文件:

node file.js

«立即安装» .

它很粗糙,但你可以在Chrome中打开Javascript控制台(Ctrl+Shift+J),粘贴*.js文件的文本内容,然后按Enter。

在Ubuntu上,安装a link to install libjavascriptcoregtk - 3.0 - bin并使用/usr/bin/jsc ()。

如果你用的是MacBook。

  1. 在系统中设置node.js并打开终端
  2. 导航到保存js文件的目录。
  3. 执行node <filename.js>

例如,如果文件名是script.js则运行node script.js

这是一个“迂回”的解决方案,但你可以使用ipython

从终端启动ipython笔记本:

$ ipython notebook

它将在浏览器中打开,您可以在其中运行javascript

enter image description here

上面所有的答案都很棒,我看到了一个缺失的东西,可以考虑运行javascripts(*.js)文件,javascript不相关的兄弟Java

JDK提供了两个很好的工具,可以用来执行javascripts。 下面是命令。确保导航到JDK\bin
 jjs example.js

它提出了另一个commmand工具,像这样-

 jrunscript example.js

我希望这对其他人有所帮助。

你也可以使用phantomjs下载phantomjs取决于系统(我的情况是Max OSX)从phantomjs.org 你应该把phantomjs安装文件夹的路径放在javascript文件的顶部。如。保存你的代码。转到保存javascript的终端,你可以使用> phantomjs filename.js

运行

从技术上讲,node . js不是我们所知道的正确的JavaScript,因为没有文档对象模型(DOM)。例如,在浏览器中运行的JavaScript脚本将无法工作。在所有。解决方案是在无头浏览器上运行JavaScript。幸运的是,有一个项目仍然活跃:Mozilla Firefox有无头模式

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Headless_mode

$ /Applications/Firefox.app/Contents/MacOS/firefox -headless index.html
*** You are running in headless mode.
你所要做的就是通过bash运行一个js文件: $ node filename.js < / p > 这类似于在python中,当你这样做时: $ python filename.py < / p >

你需要安装像Node这样的JS引擎,然后在你的文件的第一行中使用工作行,像这样:

script.js

#!/usr/bin/env node
console.log('Hello terminal');

之后,您必须设置可执行权限:

chmod +x script.js

然后运行它

./script.js