2016-10-28 71 views
0

我嘗試使用我的Gulpfile中另一個Javascript文件中的函數,但無法使其工作到目前爲止。無法在Gulpfile中導入JavaScript文件

的文件,我需要在Gulpfile訪問:

var hello = function(){ 
    console.log('Hello') 
} 

而且我需要在我的Gulpfile方式:

var tools = require('./public/js/tools.js'); 
gulp.task('create_subscriptions', function(){ 
    tools.hello(); 
}); 

tools.hello() is not a function被觸發。

我在這裏做錯了什麼?

編輯

我做

module.exports = { 
    hello: hello() 
}; 

請告訴我差機智exports.hello = hello

+1

[Node.js module.exports的用途和你如何使用它的目的是什麼?](http://stackoverflow.com/questions/5311334/what-is-the-purpose-of-node -js-module-exports-how-do-you-use-it) –

+2

除非你返回一個新函數,否則你應該刪除'()'。所以,'hello:hello' – Roberto14

回答

2

你沒有從模塊中導出任何東西。局部變量不公開,你需要將它們明確地標記爲公共的。

exports.hello = hello; 

hello: hello() 

您的變量保存功能後有()。你是調用它並將返回值(這不是函數)分配給你的hello屬性。

+0

非常感謝。 你可以檢查我的編輯,並可能解釋我嗎? – Mornor