2009-07-02 114 views
17

在这里我知道一个奇怪的问题的位。运行javascript独立引擎?

,但我想知道,如果某种独立引擎的JavaScript的存在..

基本上,我想测试我的JavaScript的运行,而无需加载网页...

也许它不不存在?像某种IDE,我可以不启动IE等直接运行的命令......

我有一个伟大的编辑器,但它不支持..我仍然需要启动IE/firefxo

我正在考虑某种独立的JavaScript引擎存在,我可以在这里写我的代码,使调试更容易一些...然后复制到我的网页。

我知道萤火虫的存在,但你不能专门做我要问你的东西吗?

任何想法?

+0

@Artem Barger:我做了一次Google搜索,结果令人困惑。然后我搜索了这个问题,发现这个问题,事实证明这非常有帮助。什么是没有帮助的是你的评论。 例如,我的Google搜索在结果的第一页中没有显示Rhino。它也没有解释JS内置的JS可以通过cscript调用。 如果搜索引擎回答所有问题,为什么会有类似这样的网站的原因?请尽量多做一个人。 – Sabuncu 2010-12-27 21:44:03

+0

@Toddintr - 你想介绍一下你在说什么吗? – 2011-01-01 20:25:27

+0

@Artem Barger:你最初在这里发表评论,你在这里发表了这个问题。我的评论是对你原来的评论作出的回应,后来这个评论被删除了(我不知道他们是谁)。 – Sabuncu 2011-02-23 15:24:13

回答

0

使用Rhino或SpiderMonkey,您可以拥有一个独立的JS引擎,或将其包含在您编写的其他应用程序中;但是您将无法测试与文档对象模型(DOM)有关的任何操作,例如操作元素和属性或响应事件。

与DOM相关的所有事情都由浏览器提供,作为JavaScript引擎运行的主机环境。没有浏览器意味着没有DOM。

如果您打算使用的代码完全不依赖于浏览器环境提供的任何内容,那么您可以先看看Rhino Shell

编辑:微软的JScript也是一个独立的COM组件,你可以在Windows Script Host下运行。该环境中可用的对象模型提供了对Windows外壳的基本访问级别。

6

至于引擎 - 它实际上是在Windows本身内建的,IE只是将它用于网页。试试吧 - 你可以制作一个简单的.js文件并运行它。它实际上是.bat文件的一个很好的替代品。 :)您还可以使用cscript.exe(用于控制台)和wscript.exe(用于Windows应用程序)来运行脚本。这实际上是在双击.js文件时Windows内部运行的内容。

至于调试 - 我不知道。我知道:

  • Visual Studio支持脚本调试,至少对于浏览器(但可能在其他应用程序中与Windows脚本宿主集成);
  • 有一个单独的“脚本调试器”可以从微软免费下载,但最后我检查它是非常糟糕的;
  • 上面提到的cscript.exewscipt.exe有有事情做脚本调试命令行参数,虽然我不知道他们在做什么。
3

很多人都推荐犀牛或其他服务器端实现。但从我阅读的内容来看,你需要一些应该模仿浏览器环境的东西。在这方面,我会尝试(这意味着我以前没有使用过这个组合)是Mozilla Rhinoenv.js。虽然我已经使用Mozilla Rhino很长一段时间了,但我不能说env.js太多了。

env.js是对浏览器环境的仿真。它最初由John Resig开发,但克里斯·撒切尔现在看起来就像它。在我看来,这看起来很有希望。以前没有尝试过,但我会给它一个机会。

2

最近我发现如果你安装了Visual Studio,你可以通过调用一个像弹出Just In Time调试器窗口的脚本cscript test.js //X来调试JScripts。

然后,您可以通过脚本逐行执行,并具有真正调试器的所有优点。

1

jslibs是基于Firefox的JavaScript引擎良好的独立的JavaScript运行。

1

JSC.exe和命令提示符界面将允许您将JScript/JavaScript编译到桌面上的.Net可执行文件中。

JSC [JScript Compiler]有一个 - ?或-help函数,它显示所有编译器选项和标志,并且是一个独立的可执行文件本身。将其复制到您选择的文件夹,然后将cmd.exe复制到相同的文件夹并进行编码。在您的cmd和jsc可执行文件的文件夹中用.js文件扩展名保存源文件。是的,jsc.exe可以处理常规的.js文件,但JScript.net教程可以向您展示如何使用按钮和所有.js文件构建GUI!

通过启动命令行shell(cmd.exe)编译您的.js文件,与jsc.exe和您的.js文件位于同一个文件夹中,键入jsc然后是空格,然后是.js文件的名称 - 击中输入 - 完成。此外,jsc将调试器错误和警告输出到相同的cmd.exe,该cmd.exe以遇到问题的.js文件中的行和字符位置开始。您还可以通过输入jsc(一个空格,然后键入/调试一个空格和您的.js文件名),将调试对象输出保存到一个.pdb中,作为.js文件。

  • “/调试” =斜杠那么这个词调试或...
  • “-debug” =然后减号或破折号字调试。

/和 - 在标记被管理/读取之前,使用最好的方法,只要确保不要将调试或任何标记放在任何类型的引用中。

简单易懂; jsc.exe将从usb拇指驱动器和闪存卡运行,唯一的要求是.Net Framework安装在主机操作系统中。如果你正在运行更新版本的Windows,那么.Net框架无论如何都是预先安装的;转到Windows操作系统的Windows目录/文件夹,然后搜索jsc.exe,最低限度可能会为2.0和4.0版本获得.Net版本的jsc.exe。将所需的版本复制到选定的文件夹中,重复该过程以查找cmd.exe。

不要剪切和粘贴jsc.exe和cmd.exe - 只将这些可执行文件复制到您希望从中运行它们的目录。右键单击文件并从上下文菜单中单击复制菜单选项。右键单击为jsc.exe和cmd.exe创建的目录,然后单击上下文菜单选项选项粘贴。您也可以单击文件以突出显示该文件,然后按和Ctrl键,然后按C键将文件复制到剪贴板;单击以突出显示或双击打开您创建的目录,然后按住Ctrl键并按V键将文件粘贴到您选择的目录中。

鲜为人知的事实:

    • JScript是微软实施ECMA规范5的兼容JavaScript和MSDN上有出色的文档,以及当前的JavaScript。
    • cmd.exe支持拖放;因此,您可以在命令提示符处拖放jsc.exe,键入空格,然后拖放您的.js文件,然后按Enter编译并享受。
    • 我不为微软工作,但可能应该。

Mono的.Net框架为Linux可能能够支持JScript.Net应用为好,但我还没有研究这个话题了一段时间。 Mono Framework是遵循CLS(通用语言规范[generic com])之后的.NET Framework的ECMA规范的Linux兼容.Net Framework。 Mono框架支持ECMA规范的很大一部分,并且与Microsoft .Net Framework基本兼容。

有一个很好的。

0

我使用的是Firefox开发人员工具下的Scratchpad和JSDB。 还有一个Javascript shells at MDN的名单。这是当我只想快速运行JavaScript代码片段。