Lightning Web Component 安全性相關知識

JavaScript 的嚴格模式

Lightning Web Component 是遵循了 JavaScript 的嚴格模式,所以在開發時有一些強制規定,比如所有變量必須用 var、let、const 等關鍵字聲明等。

關于嚴格模式的詳細信息,可以參考官方文檔

DOM 訪問限制

在訪問 DOM 時,不能使用 window 或 document 這些全局變量,而要使用 this.template 變量。比如使用 this.template.querySelector() 代替 document.querySelector()。

Locker Service 提供了一組安全性更高的封裝類:

  • SecureWindow:封裝了 window 全局變量
  • SecureDocument:封裝了 document 全局變量
  • SecureObject:代表了被 Locker Service 封裝的對象,其細節是無法訪問的
  • SecureLightningElement:封裝了 LightningElement 類,也就是所有 Lightning Web Component 繼承的類。我們無法直接繼承 SecureLightningElement 類,但是在運行時它會取代 LightningElement
  • SecureTemplate:封裝了 template 對象

其他限制

第三方的類庫無法直接使用,必須上傳為靜態資源(static resource)。

外部的圖片、字體、文件的鏈接必須使用 https 而非 http。

以下全局變量無法使用:

  • $A
  • Aura
  • Sfdc
  • sforce
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。