TypeError 将 commonjs 'required' 函数传递给 Javascript 对象
TypeError passing a commonjs 'required' function into a Javascript Object
我正在使用第三方库(在 node.js 中),它通过 Javascript 对象接受函数作为参数:
exports.paths = [
{
path: "foo",
parse: function bar(parm) {
console.log("running function");
return;
}
}
如果函数是内联的,那工作正常,但我想将它删除到一个单独的文件中 file_b
。
function bar(parm) {
console.log("running function");
return;
}
exports.bar = bar;
然后在file_a
中要求它:
var bar = require('./file_b');
exports.paths = [
{
path: "foo",
parse: bar
}
现在,当第三方库尝试 运行 我的函数时,出现错误:TypeError: object is not a function
我做错了什么?
您正在传递整个导出对象。但是你想通过 属性 bar
.
var bar = require('./file_b').bar;
或者:
var bar = require('./file_b');
exports.paths = [{
path: "foo",
parse: bar.bar
}]
我正在使用第三方库(在 node.js 中),它通过 Javascript 对象接受函数作为参数:
exports.paths = [
{
path: "foo",
parse: function bar(parm) {
console.log("running function");
return;
}
}
如果函数是内联的,那工作正常,但我想将它删除到一个单独的文件中 file_b
。
function bar(parm) {
console.log("running function");
return;
}
exports.bar = bar;
然后在file_a
中要求它:
var bar = require('./file_b');
exports.paths = [
{
path: "foo",
parse: bar
}
现在,当第三方库尝试 运行 我的函数时,出现错误:TypeError: object is not a function
我做错了什么?
您正在传递整个导出对象。但是你想通过 属性 bar
.
var bar = require('./file_b').bar;
或者:
var bar = require('./file_b');
exports.paths = [{
path: "foo",
parse: bar.bar
}]