首页 > Web开发 > 详细

.Net Core调用NodeJs

时间:2020-04-21 00:28:32      阅读:177      评论:0      收藏:0      [点我收藏+]

需求:在服务器端使用js渲染引擎arttemplate,生成HTML。以实现在后台配置模板,动态生成HTML

微软提供了Microsoft.AspNetCore.NodeServices这个库,专门用来调用nodejs服务

1、安装包Microsoft.AspNetCore.NodeServices、安装nodejs

2、在ConfigureServices方法中添加 services.AddNodeServices(); 

3、注入INodeServices服务,通过模板获取html


public async Task<IActionResult> Index([FromServices]INodeServices services)
{
  var htmlTemplate = "{{each list as item index}}{{item.ID}}-{{item.Title}}{{/each}}";
  var listJSON = "[{ \"ID\": \"1\", \"Title\": \"aaa\" }, { \"ID\": \"2\", \"Title\": \"bbb\" }]";
  string greetingMessage = await services.InvokeAsync<string>("./arttemplatedemo.js", htmlTemplate, listJSON);

}

项目根目录添加arttemplatedemo.js

const template = require(art-template);


module.exports = function (callback, htmlTemplate,listJSON) {
    var compile = template.compile(htmlTemplate);
    var html = compile({ "list": eval(listJSON)  });

    callback(null, html);
}

4、在项目根目录安装art-template的npm包

 npm install art-template 

 

5、完成,运行即可

.Net Core调用NodeJs

原文:https://www.cnblogs.com/fanfan-90/p/12741494.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!