mhsdesign / polyfillneosuiguestframeapi
Requires
- neos/flow: ^6.3 || ^7.0 || ^8.0
- neos/neos-ui: ^5.3 || ^7.0 || ^8.0
README
Neos Ui
MhsDesign.PolyfillNeosUiGuestFrameApi
当Neos.Ui版本大于或等于7.2时,此包“什么也不做”^^(不会加载js)
为什么需要它
此包提供了一种polyfill,通过Neos.Ui早期版本的自定义consumerApi解决方案访问包'@neos-project/neos-ui-guest-frame'
。
Neos.Ui自特性:为@neos-project/neos-ui-guest-frame提供消费者Api #2945起支持从'@neos-project/neos-ui-guest-frame'
导入到自定义扩展。
此特性已合并至https://github.com/neos/neos-ui/releases/tag/7.2.0,并可以使用"@neos-project/neos-ui-extensibility": "^7.2"
在自定义扩展中使用。但仅当扩展与至少版本7.2的Neos.Ui主机一起使用时才会起作用,而不能使用旧版本。
此包作为以前Neos.Ui版本(回退到5.3)的polyfill。
实现
实现相当复杂,因为我们需要在宿主Ui中实现以下内容:[链接](https://github.com/neos/neos-ui/blob/master/packages/neos-ui/src/apiExposureMap.js#L148)
因此,我们拦截通过消费者Api导出的内容,并添加'@neos-project/neos-ui-guest-frame'
包的导出。
当然,这会使用消费者Api内部使用的全局javascript对象和函数,除非实现发生变化(这不太可能),对于过去针对的Neos.Ui版本(5.3、7.0、7.1),该polyfill将继续工作。如果有所变化,javascript会在控制台显示精心制作的错误信息;)
当安装的Neos.Ui版本大于或等于7.2时,此包不执行任何操作^^(不会加载js)
替换此包
如果您不想包含polyfill,因为您知道您至少安装了ui 7.2,那么您可以通过以下方式简单地替换composer:[链接](https://github.com/neos/flow-development-collection/blob/d559aca053fd64a3b2d8ed3e3c19942f61f3b9ee/composer.json#L40)