使用requirejs创build完全独立的上下文栈

我有一个现有的网站,使用requirejs的一切从加载库,如jQuery和骨干到定义骨干视图,模型等我试图得到这个呈现在服务器端与node.js,因此需要一个完全独立上下文栈为每个请求。

Requirejs的多版本支持几乎是我所需要的。 它允许为将来的加载声明特殊的上下文。 var context1 = require.config({context:“abc123”}); 这允许:context1(['item'],function(item){}); 哪里“项目”将单独加载,即使它已经被加载。 不幸的是,我需要所需的项目也有能力要求和定义项目隔离到上下文堆栈。

Requirejs几乎具有使用内部takeGlobalQueue函数设置的此function。 不幸的是,这个函数期望抓取自最近调用以来定义的所有项目,因此可以获取在不同上下文堆栈上定义的项目。

我需要的是让requirejs给我一个真正独立的define / require实例,通过未来的调用保持分离。

我不想重写我的整个网站不使用requirejs和/或需要一些插件为我的所有requirejs调用。 我应该在这个黑客r.js源? 这是否违反AMD规范?

更新1:在nodejs上说我使用domino / jsdom创build一个窗口上下文。 然后,我将jQuery / zepto和Backbone的副本附加到该窗口,以便Backbone.View.make在该窗口中创build一个元素。 然后,我可以加载我的实际应用程序堆栈,然后inheritancebackone的副本,使所有的东西“正常工作”,就好像它在浏览器中一样。 不需要破解jquery / backbone源代码。 但是我需要一个Backbone的单独副本,指向一个单独的窗口,用于不同的同步请求,这意味着我的视图/模型等单独的上下文堆栈。

我没有足够的上下文来解决这个问题,分段加载怎么做,但是听起来和这个问题类似,所以可能会有一些提示:

如何在一个节点上使用requirejs,jquery和d3 express webserver

不确定,但是在新的vm上下文中运行代码也可能是解决scheme的一部分:

http://nodejs.org/api/vm.html#vm_vm_runinnewcontext_code_sandbox_filename