是否可以在.net框架中执行JavaScript代码?
我希望能够在运行.net环境的服务器端执行JavaScript。
那么如何做到这一点? 主要是我需要文本处理函数,我会输入一个字符串并获取从JavaScript代码返回的字符串。
不需要窗口交互。是否可以在.net框架中执行JavaScript代码?
是的,有几个JS引擎可以使用。 Jurassic,Jint和IronJS是基于.NET的,但您也可以与其他人接口,例如Chrome浏览器中的V8或IE中的ActiveScript。
编辑:五年后,JS引擎原产于.NET稍微滞后(无支持ES6着呢,IronJS似乎放弃了),但我们现在也有开源ChakraCore这是不是很难在.NET中集成和使用一个可用的包装器。
此外,JavaScriptEngineSwitcher允许通过通用接口使用.NET代码中几乎任何现有的JS引擎,因此交换引擎不需要更改代码。
您可以编写一个JScript.Net文件并将其编译到一个包含jsc
的程序集中,然后像使用其他任何程序集一样使用该程序集。
实施例:
package Your.Desired.Package.Name {
Class SomeClassName {
public static function doSomething(foo) }
var bar;
// Fairly normal JavaScript code here
if (foo.match(/sometest/)) {
// Do something
}
else {
// Do something else
}
}
}
}
比package
和class
结构其他,在JScript.Net代码基本上是JavaScript的。如果你想成为恶魔,你甚至有eval
。 :-)
然后,您可以编译成这样一个组件:
jsc /target:library TheFileName.js
...它生产和组装的TheFileName.dll
。
这很漂亮。 – asawyer 2012-04-25 13:17:19
.net对于文本处理来说非常不错。有什么特定的需要,只有JavaScript可以提供? – 2012-04-25 12:57:40
我第二@MarceloCantos的评论。用于文本处理的.Net之外的优点是什么? – 2012-04-25 13:00:08
这似乎是想要做的一件奇怪的事情。你究竟想要完成什么? – asawyer 2012-04-25 13:00:26