我目前正在开发一个node.js(v5.10.1)应用程序,该应用程序利用ES6类语法进行模块曝光,但我不确定这是否与我面临的问题特别相关。
我们说我有以下目录结构:
/
|-command/
| |-walk/
| | |-config.json
| | |-walk.js
| |
| |-eat/
| |-config.json
| |-eat.js
|
|-core/
| |-app.js
| |-command.js
| |-config.json
| |-config.js
| |-job.js
| |-module.js
|
|-job/
| |-breathe/
| |-config.json
| |-breathe.js
|
|-init.js
每个.js
文件中的类遵循以下继承:
Config
|-App
|-Module
|-Command
| |-Eat
| |-Walk
|
|-Job
|-Breathe
按计划运作。
现在关键部分:
在我的Config
类中,我想实现一个方法,该方法可供所有子类和子类(以及其他类)使用,并访问其各自的目录(例如/command/eat/
为Eat
或/core/
的{{1}}加载包含默认配置的相关App
文件。
是否有"直接"识别实例化类所在的文件的方法?我可以访问v8调用堆栈(例如使用stack-trace)并迭代它:
config.json
config.js
这是最直接的解决方案还是您有任何建议或疑虑?
提前致谢, 大卫