.NET等组件来运行 JavaScript,不过目前我看了好几个开源组件包括V8.NET都还不支持 .NET Core ,我们如何在 .NET Core 中运行 JavaScript 呢,答案是使用 NodeServices 二.什么是 NodeServices NodeServices 是一个 ASP.NET Core 中间件,将它添加到 ASP.NET Core 管道中,该中间件调用Node在运行时执行JavaScript 这意味着如果使用 NodeServices,你必须在主机上安装Node。 三.使用 NodeServices NodeServices 的开源地址为:https://github.com/aspnet/JavaScriptServices 在 Nuget 发布的包名为:Microsoft.AspNetCore.NodeServices 四.结束 NodeServices 可以使 .NET Core 接入 NodeJs 生态,创造了更多的可能,大家可以去探索更多的用法。
1、我们参照官方文档 https://github.com/aspnet/JavaScriptServices/tree/dev/src/Microsoft.AspNetCore.NodeServices #microsoftaspnetcorenodeservices,我们创建一个.NET Core Console应用程序 DotNETNodeApp,添加Microsoft.AspNetCore.NodeServices 4、创建一个Des 类封装NodeJs的函数调用: using Microsoft.AspNetCore.NodeServices; using System.Threading.Tasks; namespace DotNETNodeApp { public class Des { private INodeServices nodeServices; public Des(INodeServices nodeServices) { this.nodeServices = nodeServices; }
2、在项目中引入 NuGet 包:Microsoft.AspNetCore.NodeServices ,这里我使用的是 5.0 的预览版本。 ); }; 5、编写一个 API 接口方法: [HttpGet] public async Task<IActionResult> Get([FromServices] INodeServices nodeServices ) { var result = await nodeServices.InvokeAsync<string>("hello.js", "oec2003"); return Ok(result
代码块节点可以使用 Node.js、Python 等解释型语言来处理逻辑,在《dotNet 5 中执行 Node.js》一文中,介绍了在 .NET 中通过 NodeServices 包来动态执行 Node.js
调试aspnetcore的NodeServices其中一种打开方式,这个可以在VSCode进行调试,调试器由VSCode提供,不会自动连接,有点麻烦,建议用下一种,方便。