module.exports包含一行中的所有功能

这是在Node.js中的后续问题,我如何从其他文件中“包含”函数?

我想包含一个包含node.js应用程序的常用函数的外部js文件。

从In Node.js中的答案之一,我如何从我的其他文件中“包含”函数?这可以通过

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

var zemba = function () {
}

导出每个功能都很不方便。 是否可以有一个出口所有功能的单线程? 看起来像这样的东西;

module.exports = 'all functions';

这样更方便。 如果稍后忘记导出某些功能,那么它也没有多少问题。

如果不是一句话,是否有更简单的替代方案,使编码更方便? 我只想包含一个由普通函数组成的外部js文件。 就像在C / C ++中include <stdio.h>一样。


你可以先写所有的函数声明,然后将它们导出到一个对象中:

function bar() {
   //bar
}

function foo() {
   //foo
}

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

虽然没有神奇的单线,但你需要明确地导出你想要公开的功能。


我做了如下的事情:

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

module.exports = Exported;

我需要在另一个文件中,我可以访问这些功能

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

这实质上只是一个包含函数的对象,然后导出该对象。


值得注意的是,在ES6中,您现在可以导出这样的函数:

export function foo(){}
export function bar(){}
function zemba(){}

简单的写export要导出的功能之前。 更多信息在这里。

链接地址: http://www.djcxy.com/p/97027.html

上一篇: module.exports that include all functions in a single line

下一篇: How to split a single Node.js file into separate modules