【发布时间】:2018-06-04 15:15:45
【问题描述】:
是否可以解析节点 js 文件并从另一个节点 js 文件内部运行部分代码?
我有一个 node.js 文件,我试图从另一个 node.js 脚本中解析它。我不控制文件的内容,但它是有效的 node.js 并且它始终在代码中具有一个名为: 获取参数定义
这是我要解析的文件: https://github.com/jscad/OpenJSCAD.org/blob/master/examples/gear.jscad
具体来说,我希望从 getParameterDefinitions 返回的 JSON 数组作为我的代码中的变量。
这是我目前拥有的代码:
const fs = require('fs')
inputFile = 'gear.jscad'
let src = fs.readFileSync(inputFile, 'UTF8')
console.log(src)
params = Parse(src,'getParameterDefinitions') //how to write this line?
如何让节点解析 javascript 并运行函数以将结果返回到 params 变量中。
【问题讨论】:
-
如果您认为代码安全,请使用
eval。 -
即使有eval,如何调用getParameterDefinitions函数?
-
function getValues(code) { eval(code); return getParameterDefinitions(); }。然后将其称为:var params = getValues(src);。 但仅当您确定src不包含任何有害代码时。 -
不是
eval(code)而是evil(code)。 ;) 顺便说一句,不惜一切代价避免eval,尤其是在node。
标签: javascript json node.js parsing