2015-11-08 33 views
4

這所有的功能是一個後續問題In Node.js, how do I "include" functions from my other files?module.exports包括在單行

我想包括包含了node.js的應用程序常用功能的外部JS文件。

In Node.js, how do I "include" functions from my other files?其中一個答案,這可以通過

// tools.js 
// ======== 
module.exports = { 
    foo: function() { 
    // whatever 
    }, 
    bar: function() { 
    // whatever 
    } 
}; 

var zemba = function() { 
} 

做不方便每個函數出口。是否可以有一個出口所有功能的單線程?看起來像這樣的東西;

module.exports = 'all functions'; 

這樣就更方便了。如果稍後忘記導出某些功能,那麼它也沒有多少問題。

如果不是單線,有更簡單的替代方案,使編碼更方便嗎?我只想包含一個由普通函數組成的外部js文件。類似於C/C++中的include <stdio.h>

+0

不,這不是Javascript的工作原理。你提到的方式是最有效的方法。 – Qix

回答

11

你可以先寫你的所有函數聲明,然後將其導出爲一個對象:

function bar() { 
    //bar 
} 

function foo() { 
    //foo 
} 

module.exports = { 
    foo: foo, 
    bar: bar 
}; 

有沒有神奇的一行雖然,你需要明確地導出你想成爲大衆的功能。

+2

謝謝。我想這是目前最好的JavaScript可以提供。這是讓我欣賞python的一件事。 – user781486

+0

這適用於我 –

5

我已經做了類似如下:

var Exported = { 
    someFunction: function() { }, 
    anotherFunction: function() { }, 
} 

module.exports = Exported; 

我需要它在另一個文件,我可以訪問這些功能

var Export = require('path/to/Exported'); 
Export.someFunction(); 

這實質上就是在它功能的對象,然後您導出該對象。