举例来说,如果你要运行一个Python脚本您可以键入蟒蛇filename.py或者,如果你想运行一个C程序将filename然后./文件名。如何使用.js文件执行此操作?
举例来说,如果你要运行一个Python脚本您可以键入蟒蛇filename.py或者,如果你想运行一个C程序将filename然后./文件名。如何使用.js文件执行此操作?
Answers:
您需要一个JavaScript引擎(例如Mozilla的Rhino)来评估脚本-就像您对Python所做的一样,尽管后者附带了标准发行版。
如果您在路径上安装了Rhino(或替代品),那么运行JS确实很简单
> rhino filename.js
值得注意的是,尽管JavaScript本身就是一种语言,但是许多特定的脚本假定它们将在类似浏览器的环境中执行-因此尝试访问诸如的全局变量location.href
,并通过追加创建输出DOM对象而不是调用print
。
如果掌握了为网页编写的脚本,则可能需要对其进行包装或修改,以使其能够接受来自stdin的参数并写入stdout。(我相信Rhino可以模仿标准浏览器全局变量的模式,这很有帮助,尽管我现在找不到用于此目的的文档。)
另一个答案是NodeJS!
Node.js是基于Chrome的JavaScript运行时构建的平台,可轻松构建快速,可扩展的网络应用程序。Node.js使用事件驱动的非阻塞I / O模型,使其轻巧高效,非常适合跨分布式设备运行的数据密集型实时应用程序。
使用终端,您将能够使用node
命令启动它。
$ node
> 2 + 4
6
>
注意:如果要退出,请键入
.exit
您还可以运行如下JavaScript文件:
node file.js
$> sudo apt-get install myFancyCmd
后面$>myFancyCmd hello.jpg -w 1234
?
如果您使用的是Mac,则可以jsc
通过输入以下内容在OS X(终端)中获取JavaScript控制台:
/System/Library/Frameworks/JavaScriptCore.framework/Versions/Current/Resources/jsc
在Terminal.app中。
您还可以通过将.js脚本的名称添加为jsc的参数来运行其中一个.js脚本,如下所示:
jsc your_awesome_script_name.js
注意:我console.log()
在开发期间使用,但是jsc需要该debug()
功能。
在Ubuntu上,您可以使用一些不错的ECMAScript shell。在它们之间值得一提的是SpiderMonkey。您可以通过添加sudo apt-get install spidermonkey
正如其他人所说,在Windows上,您可以依赖cscript
并wscript
直接在OS 上构建。
我还会添加另一种:) 解决问题的方法,如果您有时间并且想学习新事物,我想提到coffee-script,它具有自己的编译器/控制台,并且为您提供了超正确的Javascript。您也可以在浏览器中尝试它(链接“ try coffeescript”)。
sudo apt-get install libmozjs-24-bin
并将sudo ln -sf /usr/bin/js24 /usr/bin/js
其与shell中的js一起使用。
console.log
可以很好地与node一起工作,该节点已在Ubuntu上安装了sudo apt install nodejs
。非常适合console.log('hey world, here I am')
可以运行的应用程序node hey.js
。
为此,请使用node.js,这是在Mac上node
使用安装方法的示例brew
:
brew update && install node
然后通过键入来运行程序node filename.js
,您可以将其console.log()
用于输出。
brew install node
吗 install node
单靠它自己不会做任何事情。
这很粗糙,但是您可以在Chrome(Ctrl + Shift + J)中打开Javascript控制台,然后粘贴* .js文件的文本内容,然后按Enter。
console
。
如果您使用的是MacBook。
node.js
在系统中设置并打开终端node <filename.js>
例如,如果script.js
运行文件名node script.js
另外,如果您只是想玩转Javascript,Codecademy的 Javascript Lab 是一个不错的浏览器选项。
他们也有Python和Ruby IDE。
如果您使用的是Windows PC,则可以使用WScript.exe或CScript.exe
请记住,您不在浏览器环境中,因此诸如之类的东西document.write
或任何依赖于该window
对象的事物都将无法使用window.alert
。相反,您可以调用WScript.Echo
将内容输出到提示。
http://msdn.microsoft.com/zh-CN/library/9bbdkx3k(VS.85).aspx
我试图研究,太多反而结束了使用jsconsole.com由雷米夏普(他还创造jsbin.com)。我在Ubuntu 12.10上运行,因此我必须创建一个特殊的图标,但是如果您使用的是Windows,并且使用Chrome,则只需转到“工具”>“创建应用程序快捷方式”(请注意,这种方法不能很好地工作,或者就我而言,在Ubuntu上)。该站点的工作方式非常类似于Mac jsc
控制台:实际上,它也具有一些很酷的功能(例如从URL加载库/代码),我猜jsc
没有。
希望这可以帮助。
在Ubuntu上,安装libjavascriptcoregtk-3.0-bin并使用(manpage)。 /usr/bin/jsc
sudo apt-get install nodejs
; /usr/bin/nodejs foo.js
。请注意,它是v0.10.25,有点旧。
您还可以使用phantomjs
取决于系统下载phantomjs(我的情况是最大OSX)从phantomjs.org
。你应该把路径phantomjs安装文件夹上你的JavaScript文件的顶部。例如。#!./bin/phantomjs
保存您的代码。转到保存了JavaScript的终端,您可以使用运行> phantomjs filename.js
从技术上讲,Node.js不是我们所知道的合适的JavaScript,因为没有文档对象模型(DOM)。例如,在浏览器中运行的JavaScript脚本将不起作用。完全没有 解决方案是使用无头浏览器运行JavaScript。幸运的是,仍有一个项目处于活动状态:Mozilla Firefox具有无头模式。
https://developer.mozilla.org/zh-CN/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
这样做与python中的类似:
$ python filename.py