packagefactory/atomicfusion-jscomponents

此包已被弃用且不再维护。未建议替代包。

增强 Fusion 组件以简化使用 JavaScript 初始化

v2.0.0 2018-05-16 14:30 UTC

This package is not auto-updated.

Last update: 2020-01-24 17:42:30 UTC


README

增强 Fusion 组件以简化使用 JavaScript 初始化

为什么?

待定。

用法

待定。

示例运行时

待定。

JavaScript 文件的发现

Fusion 实际上没有存储关于原型定义的文件的信息。因此,为了能够发现与组件 *.fusion 文件并置的文件,我们需要配置一个查找模式

PackageFactory:
  AtomicFusion:
    JsComponents:
      tryFiles:
        - resource://{packageKey}/Private/Fusion/{componentPath}.js

根据上述配置,原型 prototype(Vendor.Site:MyAwesomeComponent) 对应的 JS 文件将被假定为 resource://Vendor.Site/Private/Fusion/MyAwesomeComponent.js

{packageKey}{componentPath} 是变量,将在运行时用相应的 fusion 原型的信息替换。

以下变量将被考虑

  • {prototypeName} - 原型名称的完整名称
  • {packageKey} - 原型名称中 : 之前的部分
  • {componentName} - 原型名称中 : 之后的部分
  • {componentBaseName} - 如果 componentName 由点分隔,则 componentName 的最后一部分(对于 Vendor.Site:Atom.Button,这将是指:Button
  • {componentPath} - 与 {componentName} 类似,但所有点都由目录分隔符替换

默认情况下,该包会查看以下模式

resource://{packageKey}/Private/Fusion/{componentPath}.js
resource://{packageKey}/Private/Fusion/{componentPath}/{componentBaseName}.js
resource://{packageKey}/Private/Fusion/{componentPath}/index.js
resource://{packageKey}/Private/Fusion/{componentPath}/Index.js
resource://{packageKey}/Private/Fusion/{componentPath}/component.js
resource://{packageKey}/Private/Fusion/{componentPath}/Component.js

注意事项

最近,原生组件原型 Neos.Fusion:Component 已加入 Neos.Fusion 内核。不幸的是,此包无法与该新原型一起工作,依赖于 PackageFactory.AtomicFusion:Component

这可能在将来发生变化,无论是通过此包还是 Neos.Fusion 的 PR。

如果您仍然希望使用此包与现有代码库一起使用,该代码库依赖于 Neos.Fusion:Component,您可以将标准实现替换为 PackageFactory.AtomicFusion:Component

prototype(Neos.Fusion:Component) {
    @class = 'PackageFactory\\AtomicFusion\\FusionObjects\\ComponentImplementation'
}

PackageFactory.AtomicFusion:ComponentNeos.Fusion:Component 完全兼容,但您应该仍然意识到

这不是绝招!

许可证

查看 LICENSE.md