亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Angular Universal服務(wù)器端渲染避免 window is not defined錯(cuò)誤消息

 更新時(shí)間:2023年07月27日 09:47:00   作者:JerryWang_汪子熙  
這篇文章主要介紹了Angular Universal服務(wù)器端渲染避免 window is not defined錯(cuò)誤消息,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

盡管 Universal 項(xiàng)目的目標(biāo)是能夠在服務(wù)器上無(wú)縫呈現(xiàn) Angular 應(yīng)用程序,但開(kāi)發(fā)人員還是應(yīng)該考慮一些注意事項(xiàng)。

首先,服務(wù)器和瀏覽器環(huán)境之間存在明顯差異。 在服務(wù)器上呈現(xiàn)時(shí),您的應(yīng)用程序處于 ephemeral 或者 Snapshot 狀態(tài)。

應(yīng)用程序完全呈現(xiàn)一次,返回生成的 HTML,其余應(yīng)用程序狀態(tài)在下一次呈現(xiàn)之前被銷(xiāo)毀。

其次,服務(wù)器環(huán)境本質(zhì)上不具有與瀏覽器相同的功能(并且具有一些瀏覽器同樣不具有的功能)。 例如,服務(wù)器沒(méi)有任何cookies 的概念。

固然開(kāi)發(fā)人員可以 polyfill 來(lái)一定程度上規(guī)避這個(gè)問(wèn)題,但是沒(méi)有完美的解決方案。

另請(qǐng)注意 SSR 的目標(biāo):改進(jìn)應(yīng)用程序的初始渲染時(shí)間。 這意味著應(yīng)避免或充分防范任何可能降低此初始渲染中應(yīng)用程序速度的情況出現(xiàn)。

一些 啟用 SSR 后的常見(jiàn)錯(cuò)誤:

window is not defined

使用 Angular Universal 時(shí)最常見(jiàn)的問(wèn)題之一是服務(wù)器環(huán)境中缺少瀏覽器全局變量。 這是因?yàn)?Universal 項(xiàng)目使用 domino 作為服務(wù)器 DOM 呈現(xiàn)引擎。 因此,服務(wù)器上不會(huì)存在或不支持某些功能。 這包括窗口和文檔全局對(duì)象、cookie、某些 HTML 元素(如畫(huà)布)和其他幾個(gè)。 Domino 代表節(jié)點(diǎn)中的 DOM.

解決這個(gè)錯(cuò)誤的一些思路

通常,需要的全局變量可以通過(guò) Angular 平臺(tái)通過(guò)依賴注入 (DI) 獲得。

例如,全局文檔可通過(guò) DOCUMENT 令牌獲得。 此外,通過(guò) DOCUMENT 對(duì)象可以獲得 window 和 location 的非常原始的版本。

例如:

示例代碼如下:

import { Injectable, Inject } from '@angular/core';
import { DOCUMENT } from '@angular/common';
@Injectable()
export class ExampleService {
  constructor(@Inject(DOCUMENT) private _doc: Document) {}
  getWindow(): Window | null {
    return this._doc.defaultView;
  }
  getLocation(): Location {
    return this._doc.location;
  }
  createElement(tag: string): HTMLElement {
    return this._doc.createElement(tag);
  }
}

以上就是Angular Universal服務(wù)器端渲染避免 window is not defined錯(cuò)誤消息的詳細(xì)內(nèi)容,更多關(guān)于Angular Universal服務(wù)器端渲染的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺談angularJs函數(shù)的使用方法(大小寫(xiě)轉(zhuǎn)換,拷貝,擴(kuò)充對(duì)象)

    淺談angularJs函數(shù)的使用方法(大小寫(xiě)轉(zhuǎn)換,拷貝,擴(kuò)充對(duì)象)

    今天小編就為大家分享一篇淺談angularJs函數(shù)的使用方法(大小寫(xiě)轉(zhuǎn)換,拷貝,擴(kuò)充對(duì)象),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • AngularJS基礎(chǔ) ng-include 指令簡(jiǎn)單示例

    AngularJS基礎(chǔ) ng-include 指令簡(jiǎn)單示例

    本文主要介紹AngularJS ng-include 指令,這里對(duì)ng-include的基本知識(shí)做了整理,并附有代碼實(shí)例,有需要的朋友可以參考下
    2016-08-08
  • AngularJS HTML DOM詳解及示例代碼

    AngularJS HTML DOM詳解及示例代碼

    本文主要介紹AngularJS HTML DOM基礎(chǔ)知識(shí),這里整理了相關(guān)資料和示例代碼進(jìn)行詳解,有需要的小伙伴可以參考下
    2016-08-08
  • anime.js 實(shí)現(xiàn)帶有描邊動(dòng)畫(huà)效果的復(fù)選框(推薦)

    anime.js 實(shí)現(xiàn)帶有描邊動(dòng)畫(huà)效果的復(fù)選框(推薦)

    anime.js是一個(gè)靈活的輕型JavaScript動(dòng)畫(huà)庫(kù)。這篇文章主要介紹了anime.js 實(shí)現(xiàn)帶有描邊動(dòng)畫(huà)效果的復(fù)選框 ,需要的朋友可以參考下
    2017-12-12
  • Angular 中的路由詳解

    Angular 中的路由詳解

    路由是實(shí)現(xiàn)單頁(yè)面應(yīng)用的一種方式,通過(guò)監(jiān)聽(tīng)hash或者h(yuǎn)istory的變化,渲染不同的組件,起到局部更新的作用,避免每次URL變化都向服務(wù)器請(qǐng)求數(shù)據(jù),本文給大家介紹Angular 中的路由,感興趣的朋友一起看看吧
    2023-11-11
  • Angular中的NgZone.run()有什么用途

    Angular中的NgZone.run()有什么用途

    在Angular中,NgZone是一個(gè)服務(wù),用于管理異步任務(wù)的執(zhí)行,并提供一種在Angular區(qū)域內(nèi)或外部顯式運(yùn)行代碼的方式,NgZone.run方法是一種顯式在Angular區(qū)域內(nèi)運(yùn)行函數(shù)的方式,本文介紹Angular中的NgZone.run()有什么用,感興趣的朋友一起看看吧
    2024-01-01
  • Angular4開(kāi)發(fā)解決跨域問(wèn)題詳解

    Angular4開(kāi)發(fā)解決跨域問(wèn)題詳解

    本篇文章主要介紹了Angular4開(kāi)發(fā)解決跨域問(wèn)題詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Angular4 組件通訊方法大全(推薦)

    Angular4 組件通訊方法大全(推薦)

    這篇文章主要介紹了Angular4 組件通訊方法大全(推薦),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • angular2+nodejs實(shí)現(xiàn)圖片上傳功能

    angular2+nodejs實(shí)現(xiàn)圖片上傳功能

    這篇文章主要介紹了angular2+nodejs實(shí)現(xiàn)圖片上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Angular.js?實(shí)現(xiàn)帶手柄自由調(diào)整頁(yè)面大小的功能

    Angular.js?實(shí)現(xiàn)帶手柄自由調(diào)整頁(yè)面大小的功能

    這篇文章主要介紹了Angular.js?實(shí)現(xiàn)帶手柄自由調(diào)整頁(yè)面大小的功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-12-12

最新評(píng)論