也许这个问题有点傻,但是有可能用一个require语句加载多个.js文件吗?像这样:
var mylib = require('./lib/mylibfiles');
Run Code Online (Sandbox Code Playgroud)
并使用:
mylib.foo(); //return "hello from one"
mylib.bar(): //return "hello from two"
Run Code Online (Sandbox Code Playgroud)
在文件夹中,mylibfiles将有两个文件:
One.js
exports.foo= function(){return "hello from one";}
Run Code Online (Sandbox Code Playgroud)
Two.js
exports.bar= function(){return "hello from two";}
Run Code Online (Sandbox Code Playgroud)
我想把一个package.json放在要加载所有文件的文件夹中,但我不知道怎么做.我想的其他方法是有一个index.js再次导出所有内容,但我将重复工作.
谢谢!!
PD:我在Windows 7机器上使用nodejs v0.611
fre*_*ish 35
首先使用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 */
}
Run Code Online (Sandbox Code Playgroud)
然后你可以简单地使用
var modules = require('./modules.js');
modules.one.foo();
modules.two.bar();
Run Code Online (Sandbox Code Playgroud)