我正在寻找在桌面上而不是在浏览器内编写Javascript程序/脚本的方法.我希望它像Python一样运行 - 从命令行,能够读取文件,写入文件等.我发现提到的所有解决方案(Rhino,spidermonkey,V8)都用于嵌入.有没有人做过简单的实现,只是编写具有OS访问权限等全部功能的独立程序?
对于Windows最好,或者Linux
如果您有Windows,那么您已经拥有Windows脚本宿主.您可以使用它在Windows中执行JavaScript程序.
http://msdn.microsoft.com/en-us/library/9bbdkx3k(VS.85).aspx
Hans已经提到了Windows Script Host,但是有一个很酷的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");
Run Code Online (Sandbox Code Playgroud)
编译和运行:
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>
Run Code Online (Sandbox Code Playgroud)
我在制作测试程序时遇到了一些严重的限制.例如,函数似乎比浏览器环境中的类型更强.test()除非我将该参数定义为函数定义的一部分,否则我无法调用并传递参数.如果您熟悉浏览器托管的JavaScript,您就知道可以使用任意数量的参数定义函数,并使用任意数量的参数调用它.
因此,如果您习惯使用它的方式存在很多差异,那么在桌面上用JavaScript编写应用程序似乎会有相当不同的体验.
| 归档时间: |
|
| 查看次数: |
10015 次 |
| 最近记录: |