Lightning Web Components使用核心Web Components标准,仅提供在Salesforce支持的浏览器中良好运行所必需的内容。因为它基于在浏览器中本地运行的代码构建,所以Lightning Web Components是轻量级的,并具有出色的性能。编写的大多数代码都是标准的JavaScript和HTML。
同时,建立具有代表性的闪电Web组件包括建立一个HTML和JavaScript的文件(和一个可选的CSS文件),并不像一个结构Web组件。
尽管在此简化的Web组件示例中未显示,但Web组件具有HTML模板规范,与Lightning Web Component(HTML)非常相似。
第一个明显的区别是Lightning Web组件(JavaScript)是扩展LightningElement的类,而Web组件是扩展HTMLElement的类
另一个区别是Lightning Web Components提供了一种在HTML和JavaScript之间进行数据绑定的机制,例如,HelloWorld的 greeting属性具有与HTML中的元素进行数据绑定的功能。该Web组件规范不包含此功能。
互通性
在为Lightning Component框架设计新的编程模型时,必须与现有的基于Aura的组件互操作。使用LWC的GA,使用LWC编程模型构建的任何组件都可以在现有的Lightning Component页面中使用。为了证明该模型,Salesforce在去年使用LWC构建了Lightning基本组件。您现有的任何使用lightning:xxx基础组件的Lightning Web组件都已在使用LWC。
性能
Salesforce尚未发布与Lightning Web Components有关的任何基准或性能数据。但是,请寻找LWC工程团队即将发布的博客文章。
有趣的是,随着过去一年来越来越多的Lightning Experience UI由LWC组成,许多客户已经向Salesforce反映了更好的性能体验。
#支持的JavaScript
要开发Lightning Web组件,请使用最新版本的JavaScript。
Lightning Web Components JavaScript支持包括:
ES6(ECMAScript 2015)
ES7(ECMAScript 2016)
ES8(ECMAScript 2017)-不包括共享内存和原子
ES9(ECMAScript 2018)-仅包括对象传播属性(不包括对象其余属性)
Lightning Web Components的一个巨大好处是您可以编写标准的JavaScript代码。开发Lightning Web Components的Salesforce工程师是Ecma国际技术委员会39(TC39)的成员,该委员会是JavaScript的发展委员会。Salesforce还是万维网联盟(W3C)的成员。
该开发人员指南说明了如何开发Lightning Web组件,并记录了编程模型所特有的指令,装饰器和生命周期挂钩。
本开发人员指南没有记录标准的JavaScript或讲授JavaScript基础知识。Mozilla开发人员网络(MDN)JavaScript参考中记录了标准JavaScript 。如果您正在寻找功能的文档,请首先尝试MDN。例如,如果您要查找有关的信息addEventListener(),请使用MDN。