当使用松散耦合的 Javascript 模块(在 Web 浏览器中)使用 Pub/Sub 库时,是否有任何模式可以说明如何避免事件名称的魔术字符串?
我正在使用 require.js 和 amplify.js 来开发基于模块化的 Web 应用程序。我正在使用放大来发布和订阅事件,但这当然要求发布者和订阅者都知道事件标签是什么。我想避免对这些事件标签使用魔术字符串。我在想每个模块都会有一个关联的“eventsList.js”文件,或者类似的东西会列出模块将发布的事件。对于任何想要订阅其他模块事件的模块,它会为每个感兴趣的模块导入每个事件列表,这也将防止事件标签泄漏到全局命名空间中。
我特别想避免在我的应用程序中的每个模块都有一个“主事件列表”。
有没有人取得类似的成就?