gpt4 book ai didi

class - 模块导出类 Nodes.js

转载 作者:IT老高 更新时间:2023-10-28 23:25:05 26 4
gpt4 key购买 nike

我是一个 Nodes.js 菜鸟,我正在努力了解模块结构。到目前为止,我有一个模块(testMod.js)定义了这个类结构:

var testModule = {
input : "",
testFunc : function() {
return "You said: " + input;
}
}

exports.test = testModule;

我尝试这样调用 testFunc() 方法:

var test = require("testMod");
test.input = "Hello World";
console.log(test.testFunc);

但我得到一个 TypeError:

TypeError: Object #<Object> has no method 'test'

我到底做错了什么?

最佳答案

这是一个命名空间问题。现在:

var test = require("testMod"); // returns module.exports
test.input = "Hello World"; // sets module.exports.input
console.log(test.testFunc); // error, there is no module.exports.testFunc

你可以这样做:

var test = require("testMod"); // returns module.exports
test.test.input = "Hello World"; // sets module.exports.test.input
console.log(test.test.testFunc); // returns function(){ return etc... }

或者,你可以用 module.exports = testModule 代替 exports.test,然后:

var test = require("testMod"); // returns module.exports (which is the Object testModule)
test.input = "Hello World"; // sets module.exports.input
console.log(test.testFunc); // returns function(){ return etc... }

关于class - 模块导出类 Nodes.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9013636/

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