我正在使用Ember.js构建一个可嵌入的Web应用程序。应用程序JS将托管在我的服务器上,但它将被其他一些第三方网站使用。基本上,这是一个可嵌入的小部件,就像Facebook的评论小部件。
问题在于我不希望我的JS污染第三方的全局命名空间。我所能负担的只是我定义的一个全局变量,例如MyGadget。所以我希望这个变量就像Ember的命名空间,它的所有依赖项,以及实际的Ember应用程序。像这样:
window.MyGadget.Ember
window.MyGadget.jQuery
window.MyGadget.Pretender
window.MyGadger.App
... and so on
这可以通过相对简单的方式完成吗?