我想从node.js服务器内部的外部源运行一些javascript代码并返回结果。 在HTML代码中我只会使用
<script>http:\\address.of.code.com\code.js</script>
如何在node.js中运行此脚本获取此脚本的结果并将其返回给调用者?
我之前没有想要运行的脚本,它位于外部地址。
答案 0 :(得分:1)
这个怎么样?
using (StreamReader sr = new StreamReader(fileName))
{
using (CsvReader csvread = new CsvReader(sr))
{
csvread.Configuration.WillThrowOnMissingField = false;
csvread.Configuration.HasHeaderRecord = true;
CsvHelper.TypeConversion.TypeConverterOptionsFactory.AddOptions<DateTime>(options);
List<Exam> Exams = csvread.GetRecords<Exam>().ToList();
foreach (var rec in Exams)
{
// Each record will be fetched and printed on the screen
// checking values of rec here...
}
}
}
最好的问候,Nazar Medeiros
答案 1 :(得分:1)
我建议查看Node的本机vm模块。所以建立在纳扎尔的例子上:
var vm = require('vm');
var request = require('request');
request('http://address.of.code.com/code.js', function (error, response, body) {
if (!error && response.statusCode == 200) {
var script = vm.Script(body);
var ctxt = {};
script.runInNewContext(ctxt);
console.log(ctxt);
}
});
这会从其远程地址中提取脚本并运行它,而不会影响拉动脚本的代码。以下是vm的文档:https://nodejs.org/dist/latest-v4.x/docs/api/vm.html