课程章节介绍
好,同学,咱们今天讲几个Lightning Web Components里重要但容易被忽略的小细节,特别关系到你以后打包和部署组件时会不会踩坑。
首先说图标。你的组件在构建工具的“组件”面板里,是可以有个小图标的,让你一眼就认出来。这个图标是可选的,但我强烈建议你加上,团队协作时能省不少眼力。做法很简单:在你的组件文件夹里放一个SVG文件,名字跟组件名一致,比如myComponent.svg。记住,每个文件夹只要一个图标文件就行。
接下来是MPS安全,也就是移动端发布站点的安全策略。现在新创建的站点默认都是严格模式,就是说不允许随便加载外部的第三方资源。如果你的组件需要用到外部脚本或者样式,比如CDN上的库,就必须提前在站点的允许列表里明确声明,否则会报错。如果你是做托管包的,就是打包上架到AppExchange的,那么你的组件里必须加上一个叫lightningCommunity__RelaxedMPS的标签,这样即使在某些禁用了Lightning收件箱的特殊站点里,你的组件也能正常运行。
最后是今天最硬核的部分——BREAK部署组件的更改限制。什么是BREAK?就是你在组织里用元数据API部署组件之后,有些属性你再也不能随便改了,否则会破坏已经存在的组件实例。这个限制非常严格:你不能再给组件添加必填属性,不能删除任何已有的属性,也不能把现有的可选属性改成必填,还不能移除某个必填属性的默认值,更不能收紧属性的最小或最大长度等约束。为什么这么狠?因为每次一个有属性的组件被拖到页面上,就会保存当时的属性值;你这一改,那些老实例可能立刻失效,整个页面就崩了。对于只在站点里用的组件,还有一点回旋余地:你可以暂时把组件从页面移除,更新之后再加回来。但对于托管包里的组件,那就是永久的限制,一旦第一版发布出去,就改不了了。所以在首次发布之前,务必仔细规划好你的属性架构,别给自己留坑。
总结一下:图标虽小但实用,安全策略要配好,托管包别忘了那个标签,而属性一旦部署就锁死,前期设计要慎之又慎。这些点你记住了,打包上架就会顺畅很多。
关键词
LWC
Lightning Web Components
Salesforce