gpt4 book ai didi

javascript - 无法在 Firefox 附加 SDK 中使用 require() 导入自定义模块

转载 作者:行者123 更新时间:2023-12-01 14:01:44 24 4
gpt4 key购买 nike

这是我正在做的事情的简化代码示例。

foo.js(在 lib 目录中):

exports.foo = function foo() {
this.bar = function() {
console.log("foobar!");
};
};

主要.js:

var foo = require("foo");
exports.main = function(options, callbacks) {
foo.bar();
}

指令:

>cfx run
[...]
error: An exception occurred.
[...]
TypeError: foo.bar is not a function

所以基本上,我似乎无法对我导入的模块做任何事情。我在这里做错了什么吗?我试过用几种不同的方式格式化 foo() 函数,但它们似乎都无能为力。

谢谢!

最佳答案

require() 函数的结果本质上是模块的 exports 变量 - 而您没有定义 exports.bar .因此,要么在 main.js 中调用 foo.foo.bar(),要么以稍微不同的方式导入模块:

var {foo} = require("foo");

这等同于:

var foo = require("foo").foo;

此外,正如 erikvold 在他的回答中指出的那样,您并没有真正定义 exports.foo.bar

关于javascript - 无法在 Firefox 附加 SDK 中使用 require() 导入自定义模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9744482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com