使用mod_v8在freeswitch脚本中如何准确使用javascript文件的require函数?

我真的被困住了。虽然在mod_lua中对模块的require看起来像是在lua解释器中正常工作一样,但是在mod_v8中的require()似乎“包含”了整个脚本。我还没有找到一个方法来仅导入我在脚本中需要的模块(而不是node模块)。

例如,在脚本中我有类似以下的代码:

//core/dtmf_1.js

const a = (arg) => { return arg * 2 }
const b = (arg) => { return arg / 2 }

//我得到一个DONT WORKS错误
exports.a = a
exports.b = b

下面的代码示例对我也没有用,但不会抛出错误。

//core/dtmf_2.js

export function a = (arg) => { return arg * 2 }
export function b = (arg) => { return arg / 2 }

否则,当我调用

//ivr.js
import a from 'core/dtmf_2.js'

我在'import'中得到一个错误

但如果我只是这样做:

//core/dtmf_3.js
const function a = (arg) => { return arg * 2 }
const function b = (arg) => { return arg / 2 }
//ivr.js
require('core/dtmf_3.js')

console.log(b(30)) <-- WORKS!输出15

我想知道在mod_v8的conf中是否有一些设置可以允许导入模块。我想这样做是因为我在我的库中预定义了不同的方法,但我很少在一个服务中使用超过一个方法。 提前致谢。

点赞