8

我希望能够在运行 .net 环境的服务器端执行 JavaScript。
那么怎么可能呢?主要是我需要文本处理函数,我将输入一个字符串并从 JavaScript 代码返回一个字符串。
不需要窗口交互。

4

2 回答 2

13

是的,您可以使用几个 JS 引擎。JurassicJintIronJS是基于 .NET 的,但您也可以与其他接口连接,例如 Chrome 浏览器中的 V8 或 IE 中的 ActiveScript。

编辑:五年后,.NET 原生的 JS 引擎有些落后(尚不支持 ES6,IronJS 似乎已被废弃),但我们现在也有开源的ChakraCore,它在 .NET 中集成和使用并不难使用现成的包装器之一。

此外,JavaScriptEngineSwitcher允许通过通用接口从 .NET 代码中使用几乎任何现有的 JS 引擎,因此切换引擎不需要更改代码。

于 2012-04-25T12:57:00.203 回答
4

您可以编写一个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
            }
        }
    }
}

除了packageandclass结构,JScript.Net 中的代码本质上是 JavaScript。eval如果你想成为邪恶的,你甚至有。:-)

然后你把它编译成这样的程序集:

jsc /target:library TheFileName.js

...它生产和组装在TheFileName.dll.

于 2012-04-25T13:00:26.387 回答