2016-05-10 76 views
1

我有兩個文件在這裏 第一個是app.js 爲什麼我獲得額外未定義在節點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?我創建模塊的方式有問題嗎?有沒有更好的方法呢?

回答

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()); 
+0

得到你或我可以只返回(「你好世界從msg.js」);在msg.js中 – user5323957

+0

它不返回'null',它返回'undefined'。 – jfriend00

+0

'null'在javascript的'console.log'中被打印爲'undefined'。嘗試運行**編輯**代碼,它不應該打印'undefined'。 –

0

在app.js的代碼應該固定:

var msg = require('./msg.js'); 
console.log("Hello World From app.js") 
msg(); 

要調用你不應該控制檯登錄其輸出另一個模塊中聲明的函數。

+0

給你或我可以只返回(「你好世界味精的.js「);在msg.js – user5323957

+0

你也可以返回「你好世界從msg.js」 –

相關問題