也许这个问题有点愚蠢,但是可以用一个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再次导出所有内容,但我将重复工作。
谢谢!!
PD:我正在Windows 7机器上使用Node.js v0.611
首先使用require不会重复任何东西。它加载模块并对其进行 缓存 ,因此require再次调用将从内存中获取它(因此您可以在不与模块源代码交互的情况下即时修改模块- 有时这是理想的,例如,当您想在模块内部存储数据库连接时)。
require
也package.json不会加载任何内容,也不会与您的应用进行交互。仅用于npm。
package.json
npm
现在,您不能一次需要多个模块。例如将发生,如果两者是什么One.js,并Two.js具有相同的名称定义的函数?还有更多的问题。
但是您可以做的是编写附加文件,modules.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();