在桌面上编写JavaScript程序的最简单方法是什么?

13

我正在寻找一种在桌面上编写JavaScript程序/脚本的方法,而不是在浏览器内部。我希望它能像Python一样从命令行运行,能够读取文件、写入文件等。我发现的所有解决方案(Rhino、spidermonkey、V8)都是用于嵌入式开发的。是否有人已经开发了简单的实现,只是为了编写具有完整操作系统访问权限等功能的独立程序?

最好是适用于Windows,或者可能是Linux。


如果你想在Windows上做这件事,那么你可以使用Windows脚本宿主。 - Cheeso
5个回答

8
汉斯已经提到了Windows脚本宿主,但是有一个很酷的JScript编译器,你可能已经安装了它(它随.NET一起安装)。你可以使用任何.NET库编写JavaScript代码,并将其编译为Windows .exe文件。请参见此链接以了解使用jsc编译的介绍。您应该能够从中找到更多信息。
虽然您必须先进行编译才能像脚本一样从命令行运行,但您可能会对它感兴趣,因为它可以让您访问许多库。
这是一个简单的测试程序。jsc已经在我的路径上,键入jsc在命令提示符中查看它是否存在。
test.js:
import System.io;
import System;

function test()
{
   Console.WriteLine("test");
};

function test2(arg)
{
   Console.WriteLine(arg);
};

test();
test2("argtest");

编译和运行:

C:\test>jsc test.js
Microsoft (R) JScript Compiler version 8.00.50727
for Microsoft (R) .NET Framework version 2.0.50727
Copyright (C) Microsoft Corporation 1996-2005. All rights reserved.


C:\test>dir
 Volume in drive C has no label.

 Directory of C:\test

03/05/2010  09:19 AM    <DIR>          .
03/05/2010  09:19 AM    <DIR>          ..
03/05/2010  09:26 AM             5,120 test.exe
03/05/2010  09:23 AM               178 test.js
               2 File(s)              - bytes
               3 Dir(s)               - bytes free

C:\test>test.exe
test
argtest

C:\test>

我在编写测试程序时遇到了一些严重的限制。例如,函数在桌面环境中似乎比浏览器环境中更强类型化。如果我没有在函数定义中定义参数,我就不能调用test()并传递参数。如果你熟悉在浏览器上运行的JavaScript,你会知道你可以定义任意数量参数的函数,并使用任意数量的参数来调用它。
因此,如果在桌面上使用JavaScript有更多的差异,那么编写JavaScript应用程序将是一种完全不同的体验。

这真的很棒。请注意您可能需要编辑您的路径。此外,这是在我的.NET Framework 2.0中,而不是3.5中的。 - JasonFruit
它只能在旧版.NET上使用,并且使用.NET系统模块吗? - zaharpopov
@zaharpopov,.NET 2 包含了 jsc.exe 编译器,但 .NET 3.5 并没有。我不知道你所说的 .NET 系统模块是什么。你可以像我在例子中展示的那样使用导入,但它们不必来自 System 命名空间。我只需要 System 来使用 Console.WriteLine。至于 JScript 编译器的未来,不确定是否有人知道……它似乎从来没有很受欢迎。JavaScript 总是被“真正”的开发者所看不起。 - Jonathon Faust
被“真正”的开发人员瞧不起?已经是2016年了,同性婚姻合法化,我们可以进行全脸移植手术,SpaceX计划将人类送上火星,那么开发人员何时才能停止成为偏执狂呢?我以为我们是一个进步的群体,然而我们比iPhone/Android用户更多地拥有粉丝和口水战以及对语言的普遍仇恨。让人们使用他们想要的任何编程语言吧。 - Nick Steele

8

我经常这样做。它就像一个超级强大的批处理工具,但是...啊...它能正常工作。 - Cheeso

4

Node.js,可以让您编写服务器端JavaScript。 Node.js 可在 Linux、Mac 和 Windows 上运行。它还有一个非常好的 REPL,因此您可以从终端启动它来编写 JavaScript 并查看其工作方式。


1
只是注意到,node.js现在在Windows上运行非常非常好。 - Nick Steele

2

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接