我正试图扯出一个疯狂的伎俩,我有点卡住了。
我需要做的是在AppleTV上使用angular。在没有DOM的东西上使用角度的目的是什么?我正在尝试重用为另一个应用程序编写的一堆角度服务,所以我需要使用serviceProvider
部分角度及其依赖注入机制。我可能会使用node-di作为依赖,可能仍然无法解决serviceProvider
部分。
通常我需要做的是加载angular.js代码(可能通过XHR)并评估它。 目前我无法做到这一点,angular对DOM对象有很多依赖。 我尝试使用jsdom加载角度,它在节点上工作,但在AppleTV上没有。 Jsdom本身也与节点耦合。
答案 0 :(得分:1)
我能够通过模拟所有DOM依赖项来评估它
Location = ->
Location.prototype.href = ""
Location.prototype.pathname = ""
Window = ->
Window.prototype.location = new Location()
Window.prototype.addEventListener = ->
window = new (Window)
global.window = window
Element = ->
Element.prototype.setAttribute = ->
Element.prototype.pathname = ""
Element.prototype.addEventListener = ->
Element.prototype.find =-> new Element()
Document = ->
Document.prototype.createElement = -> new Element
Document.prototype.addEventListener = ->
document = new Document()
global.document = document
window.document = document
Navigator = ->
navigator = new Navigator()
global.navigator = navigator