【发布时间】:2013-04-24 11:33:10
【问题描述】:
我有一个模块。在其中,我想从我的父应用程序的 package.json 文件中访问数据。这样做的最佳做法是什么?
我通过提升 2 个级别并需要文件(或使用 nconf 配置加载器)来完成此操作。
var appdir = path.resolve(__dirname, '../../');
nconf.file('app', path.join(appdir, 'package.json'));
但这似乎很容易坏。
我还听说过pkginfo,它会自动从我自己模块的 package.json 中获取信息,但我希望从父应用程序中获取数据。
感谢您的帮助!
编辑:我想另一种方式是,我怎样才能获得应用程序的路径(而不是模块路径)?
【问题讨论】:
-
听起来像是不应该发生的奇怪耦合,您到底想完成什么?您不能将应用程序中的包信息传递到模块中吗?
-
使用 nconf,我可以指定一个默认配置,然后用其他 JSON 文件覆盖它。所以我在模块文件夹中创建了一个默认的 config.json,然后(可选地)package.json 中正确命名的块可以覆盖它。基本上只是试图将配置数据保留在应用逻辑之外。