控制组件
这是用于控制编辑器和公共网站的自定义组件.
懒惰元素
@cntrl-site/components/elements 给出内置组件执行,而不将其全部装入前端:
hasComponentElement(id): 是否为id是一个内置组件.getComponentElement(id): 元素,如果它已经装入.loadComponentElement(id):装入. 并联通话共享一个请求.hasComponentElementFailed(id): 负载失败后为真, 直到重试成功 .
在浏览器中,每个组件都是自己的块. 在装入失败后,在接下来的2 s (当时为4 s) 内的呼叫返回相同的拒绝,而不是再次取回,一个组件每页装入最多得到三次尝试.
在 node 导出条件 elements.node,它具有每一个元素同步,所以服务器渲染包括所有组件.
欢乐
jsdom 测试环境解析 browser 财务报告和审定财务报表 require 条件,而不是 nodeJest不能运行浏览器的原生变体 import() 无 --experimental-vm-modules。将子路径映射到节点变体 jest.config.js数字 :
moduleNameMapper: {
'^@cntrl-site/components/elements$': require.resolve('@cntrl-site/components/elements'),
},
require.resolve 在配置加载时在节点运行,所以返回 dist/elements.node.js。 。 。 .