如何评估 .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
上有更多的解释和例子
我需要评估来自 .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
上有更多的解释和例子