gpt4 book ai didi

node.js - Angular既不在浏览器环境中也不在 Node 环境中

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:22 25 4
gpt4 key购买 nike

我正在尝试玩一个疯狂的把戏,但我有点卡住了。

我需要做的是在 AppleTV 上使用 Angular。在根本没有 DOM 的东西上使用 Angular 的目的是什么?我正在尝试重用为另一个应用程序编写的一堆 angular.service ,因此我需要使用 Angular 的 serviceProvider 部分及其依赖项注入(inject)机制。我可能可以使用 node-di对于依赖关系,可能仍然无法解决 serviceProvider 部分。

通常我需要做的是加载 angular.js 代码(可能通过 XHR)并对其进行评估。目前我无法做到这一点,Angular 对 DOM 对象有大量依赖。我尝试使用 jsdom 加载 Angular ,它可以在 Node 上运行,但不能在 AppleTV 上运行。 Jsdom 本身也与 Node 耦合在一起。

最佳答案

我能够通过模拟所有 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

关于node.js - Angular既不在浏览器环境中也不在 Node 环境中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22155473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com