【发布时间】:2013-06-27 03:32:36
【问题描述】:
我想要一个用于 Node.js 的模块,它是一个包含多个文件的目录。我希望一个文件中的一些变量可以从其他文件访问,但不能从模块外部的文件访问。有可能吗?
那么让我们假设以下文件结构
` module/
| index.js
| extra.js
` additional.js
在index.js:
var foo = 'some value';
...
// make additional and extra available for the external code
module.exports.additional = require('./additional.js');
module.exports.extra = require('./extra.js');
在extra.js:
// some magic here
var bar = foo; // where foo is foo from index.js
在additional.js:
// some magic here
var qux = foo; // here foo is foo from index.js as well
Additional 和 Extra 实现了一些业务逻辑(相互独立),但需要共享一些不应导出的模块内部服务数据。
我看到的唯一解决方案是从additional.js 和extra.js 再创建一个文件service.js 和require。这是正确的吗?还有其他解决方案吗?
【问题讨论】:
-
请添加一些代码作为示例来说明您的问题。
-
你到底需要这个做什么?这个要求听起来很奇怪 - 不是来自一个文件的模块外部的其他文件吗?
-
@MatthewGraves 添加了一些代码和解释
标签: javascript node.js