我有文件夹形式的复杂的服务器端节点模块:正确ES6方式
store
|-index.js
|-accounts
|-index.js
|-consumer.js
|-provider.js
|-site
|-index.js
|-portal.js
|-etc.
凡在site/index.js
我初始化,应该是所有子访问的数据库上下文 - 模块(accounts
,site
等)和荷兰国际集团export
所有子模块接口的,如:
import dbdriver from 'mydbdriver'
import settings from './settings'
const db = dbdriver.connect(settings)
export * from '../accounts' // depends on db
export * from '../site' // depends on db
我已经考虑污染经由参数的子模块的API(即要求的上下文传递INT o所有相关电话),但这是丑陋的,IMO。
另一个想法是有,将接受一个模块范围的全球性,这将需要为每一个文件(再次,呸。)
是否有一个更清洁的环境和现金各模块的初始化器,优雅的es6接近这种方式?
穿过状态该状态比单身更清洁。 – Ryan
相关:https://gist.github.com/branneman/8048520 – nem035
@Ryan只有当合同不清楚。在这种情况下,字面上所有子模块函数都使用状态(db),所以单例是一种更好的方法,但这是高度风格主观的。 ; ^) – Dallas