4

我有一个附加组件(collective.lazysizesjsregistry.xml ),它使用以下文件将几个 JavaScript 资源包含到 Plone 4 资源注册表中:

<?xml version="1.0"?>
<object name="portal_javascripts">
  <javascript id="++resource++collective.lazysizes/ls.respimg.min.js"
      cacheable="True" compression="none" cookable="True" enabled="True"
      expression="" inline="False" />
  <javascript id="++resource++collective.lazysizes/lazysizes.min.js"
      cacheable="True" compression="none" cookable="True" enabled="True"
      expression="" inline="False" />
</object>

如何将其转换为 Plone 5 捆绑包registry.xml?我必须将脚本加入一个文件吗?如何?我必须将resources密钥添加到捆绑包中吗?它应该包含什么?多于一个 CSS 资源呢?

我发现文档很复杂,有时是矛盾的,而且在这方面不是很清楚。

4

1 回答 1

3

这是我要做的:

  • 将所有 JS 放在一个文件中(例如,名为lazysizes-bundle.js)。它可以通过复制/粘贴来手动完成(我们也可以使用 npm 和 gulp,在 package.json 中声明我们的 JS 依赖项并自动生成这个包,但在这种情况下,这只是 2 个文件,这可能是矫枉过正),

  • 在以下位置声明此捆绑包registry.xml

<records prefix="plone.bundles/lazysizes" interface='Products.CMFPlone.interfaces.IBundleRegistry'> <value key="enabled">True</value> <value key="jscompilation">++resource++collective.lazysizes/lazysizes-bundle.js</value> <value key="last_compilation">2016-01-01 00:00:00</value> <value key="compile">False</value> <value key="depends">plone</value> </records>

我们设置compile为 False 所以 Plone 不会尝试生成这个包,所以我们手动生成的包被保留了。

笔记:

于 2016-02-24T12:35:02.763 回答