概要:
該模塊內(nèi)容保存了angular如何與宿主環(huán)境(瀏覽器)相互通信玲销,平臺模塊的功能包括渲染(決定展示什么內(nèi)容與內(nèi)容如何展示)莺禁,多任務(web workers),URLs/html/style的安全處理(探查它們的不安全書寫)與location管理(瀏覽器中展示的URL)
我們已經(jīng)了解了core模塊如何提供渲染API,但是core中不包含渲染具體實現(xiàn)且沒有涉及DOM读串,所有angular中其他的需要內(nèi)容渲染的部分都需要該API接口并以來其具體實現(xiàn)來保證內(nèi)容被展示出來(展示意思是依賴平臺變化),注意這些render僅僅是渲染到DOM adapter中(以及存在的DOM適配器),但是所有建立在core的核心功能僅僅能接觸到render api撒妈,而不直接操作DOM恢暖。
angular提供了5個platform包
platform-browser(運行在瀏覽器主UI線程,使用線下的模板編譯器)
platform-browser-dynamic(運行在瀏覽器主UI線程踩身,使用線下的運行時模板編譯器)
platform-webworker(運行在web worker胀茵,使用線下的模板編譯器)
platform-webworker-dynamic(運行在web worker,使用)挟阻?琼娘??附鸽?脱拼?
platform-server(運行在服務端,可以使用靜態(tài)模板編譯器或者運行時模板編譯器)
一些和platform有關(guān)的通用功能在platform-brower中并且被其他platform package引用坷备,因此platform-brower比其他platform包大得多熄浓。在這個章節(jié)我們將探索platform-brower并在子章節(jié)中涉及其他platform package。
Platform-Brower內(nèi)包含了運行在UI主線程時應用代碼如何與瀏覽器交互并假設(shè)離線模板提前用來生成模塊工廠省撑。對于生產(chǎn)環(huán)境的使用赌蔑,platform-brower可能是platform的選擇,它可以保證最快速度展現(xiàn)(不需要瀏覽器內(nèi)置模板編譯)與最小size(Angular模板編譯器不需要下載到brower)
The Platform-Browser package does not depend on the Compiler package since it
assumes compilation has occurred ahead-of-time (AOT) using Compiler-CLI, the
command-line interface that wraps the Compiler package.相反Platform-
Browser-Dynamic會直接從Compiler package中引入-例如竟秫,
每個線程只有一個platform實例(瀏覽器主UI線程或者web worker線程).多個應用會運行在同一個線程中娃惯,這些應用匯與同一個platform實例交互。
Platform-Browser 可用API
platform-brower API可以被劃分為以下幾個功能模塊:
瀏覽器相關(guān)肥败,DOM趾浅,安全
DOM相關(guān)API如下: