我可以使用一个require语句加载多个文件吗?

也许这个问题有点愚蠢,但是可以用一个require语句加载多个.js文件吗?像这样:

var mylib = require('./lib/mylibfiles');

并使用:

mylib.foo(); //return "hello from one"

mylib.bar(): //return "hello from two"

在文件夹mylibfiles中将有两个文件:

exports.foo= function(){return "hello from one";}

exports.bar= function(){return "hello from two";}

我当时在想将package.json放到文件夹中,以说加载所有文件,但是我不知道如何。我在想的另一个方法是让index.js再次导出所有内容,但我将重复工作。

谢谢!!

PD:我正在Windows 7机器上使用Node.js v0.611

回答:

首先使用require不会重复任何东西。它加载模块并对其进行

,因此require再次调用将从内存中获取它(因此您可以在不与模块源代码交互的情况下即时修改模块-

有时这是理想的,例如,当您想在模块内部存储数据库连接时)。

package.json不会加载任何内容,也不会与您的应用进行交互。仅用于npm

现在,您不能一次需要多个模块。例如将发生,如果两者是什么One.js,并Two.js具有相同的名称定义的函数?还有更多的问题。

但是您可以做的是编写附加文件,modules.js并显示以下内容

module.exports = {

one : require('./one.js'),

two : require('./two.js'),

/* some other modules you want */

}

然后您可以简单地使用

var modules = require('./modules.js');

modules.one.foo();

modules.two.bar();

以上是 我可以使用一个require语句加载多个文件吗? 的全部内容, 来源链接: utcz.com/qa/407079.html

回到顶部