课程章节介绍
同学们,咱们来看这一页 Slide。它讲的是,当你的 Salesforce 组织还没有升级到 Lightning Web Security 时,必须确保组件满足所谓的“收件箱合规性”。这个合规性主要有三点核心要求。
第一点,避免跨命名空间的 DOM 操作。说白了,就是每个组件只能动自己范围内的 DOM,千万不要伸手去碰别人命名空间里的东西。
第二点,代码要支持 JavaScript 的 ES5 严格模式。比如,不允许出现那种没声明就直接用的全局变量,写法必须规规矩矩的。
第三点,避免使用会被平台安全机制拦掉的 API。你可以去查一下 JavaScript API 查看器,上面有完整的允许列表,写代码前最好先对照一下。
那么怎么测试合规性呢?很简单,先搭一个最小化的示例应用,把基本功能跑通,然后再扔到收件箱控制台里实际去测一遍。
这里还要留意几种常见的违规情况。比如不小心创建了全局变量,这就坏了严格模式的规矩;用了 eval 或者 new Function,这类写法会直接触发内容安全策略被拦截;还有那种大范围扫描整个 DOM 的操作,应该改成有针对性的精准操作;另外,用了非标准或不支持的 DOM API 也不行。
最后,如果你发现依赖的某个第三方库不合规,那就得考虑修改它、分叉出一个自己的版本,或者干脆找个能替代的库。这样一来,你的组件就能安安稳稳地在平台里运行了。
关键词
LWC
Lightning Web Components
Salesforce