packagefactory / atomicfusion-jscomponents
增强 Fusion 组件以简化使用 JavaScript 初始化
Requires
- neos/flow: *
- neos/fusion: ^4.0 || dev-master
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:Component
与 Neos.Fusion:Component
完全兼容,但您应该仍然意识到
这不是绝招!
许可证
查看 LICENSE.md