也许这个问题有点傻,但是是否可以使用一个 require 语句加载多个 .js 文件?像这样:
var mylib = require('./lib/mylibfiles');
并使用:
mylib.foo(); //return "hello from one"
mylib.bar(): //return "hello from two"
并且在 mylibfiles 文件夹中会有两个文件:
One.js
exports.foo= function(){return "hello from one";}
Two.js
exports.bar= function(){return "hello from two";}
我想在说要加载所有文件的文件夹中放一个 package.json,但我不知道怎么做。我正在考虑的其他方法是让 index.js 再次导出所有内容,但我将重复工作。
谢谢!!
P.D:我正在 Windows 7 机器上使用 nodejs 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();
关于node.js - 我可以用一个 require 语句加载多个文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10554241/