为什么我得到额外未定义的节点JS
我有两个文件在这里首先是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
你好,世界从msg.js
未定义
所以我的问题是为什么有额外的undefined
? 我创build模块的方式有什么问题吗? 有没有更好的办法呢?
因为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());
app.js中的代码应该固定为:
var msg = require('./msg.js'); console.log("Hello World From app.js") msg();
您正在调用在另一个模块中声明的函数,您不应该控制台logging其输出。