节点导出模块未知控制台日志 "undefined"
node export module unknown console log "undefined"
所以我正在学习使用 node.js
导出模块
在test.js我有(test.js是写模块的地方)
var Library={
name:"Timmy",
greet:function(name){
console.log("Hello from the "+ name);
}
}
module.exports.Library=Library;
在 server.js 我有:
var test=require('./test.js');
console.log(test.Library.greet())
然后当我在终端中 运行 节点 server.js 时,它给出:
Hello from the Timmy library.
undefined
这个"undefined"是什么意思?出错了?
我在这里发现了类似的问题,但是这个例子太复杂了,我看不懂..
Node Module Export Returning Undefined
事情是这样的:
server.js
文件中的控制台打印函数调用的 return。
现在,由于您的函数调用 (test.Library.greet()
) 没有明确 return 任何内容,因此它 return undefined
隐含地。
这就是打印的内容。
我做了一些实验,
终于知道为什么 undefined
会出现了:
在server.js
中请分开这段代码
console.log(test.Library.greet())
到
var str = test.Library.greet();
console.log(str);
你就会知道
当你做 console.log("Hello from the "+ name)
=> 你会得到第一个输出行
Hello from the xxxx
但是因为你写的greet()
没有return值
test.Library.greet()
=> 将得到 undefined
所以第二行:console.log(test.Library.greet())
将是
undefined
有趣的问题:)
所以我正在学习使用 node.js
导出模块在test.js我有(test.js是写模块的地方)
var Library={
name:"Timmy",
greet:function(name){
console.log("Hello from the "+ name);
}
}
module.exports.Library=Library;
在 server.js 我有:
var test=require('./test.js');
console.log(test.Library.greet())
然后当我在终端中 运行 节点 server.js 时,它给出:
Hello from the Timmy library.
undefined
这个"undefined"是什么意思?出错了?
我在这里发现了类似的问题,但是这个例子太复杂了,我看不懂.. Node Module Export Returning Undefined
事情是这样的:
server.js
文件中的控制台打印函数调用的 return。
现在,由于您的函数调用 (test.Library.greet()
) 没有明确 return 任何内容,因此它 return undefined
隐含地。
这就是打印的内容。
我做了一些实验,
终于知道为什么 undefined
会出现了:
在server.js
中请分开这段代码
console.log(test.Library.greet())
到
var str = test.Library.greet();
console.log(str);
你就会知道
当你做 console.log("Hello from the "+ name)
=> 你会得到第一个输出行
Hello from the xxxx
但是因为你写的greet()
没有return值
test.Library.greet()
=> 将得到 undefined
所以第二行:console.log(test.Library.greet())
将是
undefined
有趣的问题:)