在Jint中使用第三方js库

你在浪费

我正在开发一项功能,其中需要在ASP.Net应用程序的上下文中的服务器端执行从数据库检索到的用户定义的匿名javascript函数。

为此,我正在评估Jint(NuGet的最新版本)。我已经能够运行执行基本操作并返回值的函数,而不会出现以下问题。

    public void Do()
    {
        var jint = new Engine();
        var add = jint.Execute(@"var f = " + GetJsFunction()).GetValue("f");
        var value = add.Invoke(5, 4);
        Console.Write("Result: " + value);
    }

    private string GetJsFunction()
    {
        return "function (x,y) {" +
               "    return x+y;" +
               "}";
    }

我的问题是Jint是否有助于执行使用lodash等第三方库的javascript函数?如果是这样,我将如何使Jint引擎意识到这一点(即第三方库)?

一个示例是执行以下功能。

  private string GetFunction()
    {
        return "function (valueJson) { " +
               "   var value = JSON.parse(valueJson);" +
               "   var poi = _.find(value,{'Name' : 'Mike'});" +
               "   return poi; " +
               "}";

    }

在此先多谢。

你在浪费

我想我已经弄明白了。这与执行自定义函数没有什么不同。您只需从文件(项目资源)中读取第三方库,然后在Jint引擎上调用execute。见下文;

 private void ImportLibrary(Engine jint, string file)
    {
        const string prefix = "JintApp.Lib."; //Project location where libraries like lodash are located

        var assembly = Assembly.GetExecutingAssembly();
        var scriptPath = prefix + file; //file is the name of the library file
        using (var stream = assembly.GetManifestResourceStream(scriptPath))
        {
            if (stream != null)
            {
                using (var sr = new StreamReader(stream))
                {
                    var source = sr.ReadToEnd();
                    jint.Execute(source);
                }
            }
        }

    }

我们可以为需要添加的所有第三方库调用此函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Jint中使用第三方js库

来自分类Dev

在NetBeans中使用第三方库

来自分类Dev

在Eclipse for Android中使用第三方库

来自分类Dev

第三方库的使用

来自分类Dev

如何在Stencil.js中使用外部第三方库

来自分类Dev

如何在不安装类型的情况下在 Angular 2+ 中使用第三方 js 库?

来自分类Dev

第三方JS库在哪里?

来自分类Dev

禁用第三方JS库的压缩

来自分类Dev

使用第三方库(sbpl)

来自分类Dev

使用GIT进行协作-第三方库

来自分类Dev

使用第三方库进行Python部署

来自分类Dev

使用第三方库的OpenCV问题

来自分类Dev

使用第三方库进行编译

来自分类Dev

在angular指令中使用第三方lib

来自分类Dev

Singleton与第三方库

来自分类Dev

在第三方非AMD库中使用AMD定义的模块

来自分类Dev

如何在taskKey中使用第三方库?

来自分类Dev

在Eclipse RCP Tycho应用程序中使用第三方库

来自分类Dev

如何在ionic 2中使用第三方javascript库(pixijs)?

来自分类Dev

春季在第三方库中使用多种实现:坚持寻找干净的方法

来自分类Dev

在风暴拓扑中使用第三方库时出现java.lang.UnsatisfiedLinkError

来自分类Dev

在没有第三方库的PHP中使用Twitter OAuth 1.1

来自分类Dev

在Angular 2中使用第三方库(parse.com)

来自分类Dev

在py2exe单个EXE文件中使用第三方库

来自分类Dev

无法在PyCharm中使用下载的第三方库

来自分类Dev

在Windows桌面应用程序中使用第三方C ++库

来自分类Dev

如何在Python中使用第三方库?

来自分类Dev

在解析中使用第三方库进行云代码处理时出现ReferenceError

来自分类Dev

在软件和Web方法中使用第三方库会导致InvocationTargetException

Related 相关文章

热门标签

归档