我有两个文件在这里 第一个是app.js
var msg = require('./msg.js');
console.log("Hello World From app.js")
console.log(msg());

另一个是msg.js
var msg = function () {
console.log("Hello World From msg.js");
}
module.exports = msg;

通过命令在控制台上运行时
node app.js

获得类似的输出
Hello World来自app.js
Hello World来自msg.js
未定义
所以我的问题是为什么有额外的undefined
?我创建模块的方式有问题吗?有更好的方法吗?
答案 0 :(得分:1)
由于console.log(msg())
尝试打印msg()
返回的值,而msg()
并不返回任何内容。
因此,请尝试拨打msg()
,而不是console.log(msg())
。
var msg = require('./msg.js');
console.log("Hello World From app.js")
msg();
修改:评论后,
msg.js
var msg = function () {
return "Hello World From msg.js";
}
module.exports = msg;
app.js
var msg = require('./msg.js');
console.log("Hello World From app.js")
console.log(msg());
答案 1 :(得分:0)
app.js中的代码应固定为:
var msg = require('./msg.js');
console.log("Hello World From app.js")
msg();
您正在调用在另一个模块中声明的函数,您不应该控制它的输出。