如何评估 .Net Core 的 JavaScript 代码

How to Evaluate JavaScript code from .NetCore

我需要评估来自 .net core 2.1 项目的 Javascript 代码

    string vRule = "var input = arguments[0]; if (!input) return \"\"; if(input.length != 7) return \"a fixed string length of 7 is required\"; else return \"\"";
    string spResponse = "sdfsd23";

    string errorText =
        _jscriptEval.EvalToString(new List<object>
            {
                "var args = new Array('" + spResponse +
                "');\r\n validateRule(args);\r\n function validateRule(arguments){" + vRule +
                "}\r\n"
            });

您可以使用 Jint。 Jint 实现了 ECMA 5.1 规范,可以在任何 .NET 实现(Xamarin、.NET Framework、.NET Core)中使用。只需使用 NuGet 包并且不依赖于其他东西 - 它是一个单一的 .dll,你就完成了! 只需将您的 javascript 代码转换为一个函数,然后 运行 就像这样(这只是一个示例,不是您的实现):

  var engine = new Engine()
    .Execute("function MyFunction(a, b) { return a + b; }")
    ;

engine.Invoke("MyFunction", 1, 2); // -> 3

你在https://github.com/sebastienros/jint

上有更多的解释和例子