【发布时间】:2015-10-17 21:20:47
【问题描述】:
在 MyModule 文件夹中,我有这两个 JS 文件。
SayHello.js
module.exports.SayHello = function() {
return('Hello !');
}
SayByeBye.js
module.exports.SayByeBye = function() {
return('Bye Bye!');
}
在 Node.js 中,我想要求 MyModule 文件夹中的所有文件并直接调用函数 SayHello 和 SayByeBye 类似:
require(./MyModule)
console.log(SayHello());
console.log(SayByeBye());
编辑:
回答@Yanick Rochon,我这样做:
> ./app/my-module/index.js
global.SayHello = require('./my-module/SayHello').SayHello;
global.SayByeBye = require('./my-module/SayByeBye').SayByeBye;
> ./app/my-module/say-hello.js
module.exports.SayHello = function() {
return('Hello !');
};
> ./app/my-module/say-byebye.js
module.exports.SayByeBye = function() {
return('Bye Bye !');
};
> ./app/main.js
require('./my-module');
console.log(SayHello());
console.log(SayByeBye());
在节点文档中有一个关于global objects 的部分。
但是,应谨慎使用全局变量。通过向全局空间添加模块,我降低了可测试性和封装性。但在这种情况下,我认为使用这种方法是可以接受的。
【问题讨论】:
-
你不应该把模块放在导出之前,而是简单地做
exports.SayHello = function.....看这里stackoverflow.com/questions/31657341/… -
丹尼尔,链接是这篇文章吗?
-
@LeMoussel 哎呀stackoverflow.com/questions/7137397/…
-
不相关,但为什么你的文件名是颠倒的?它比我愿意承认的更困扰我。
-
肯定有误。我更正了。
标签: javascript node.js directory require