4

次のファイルを使用して、いくつかの JavaScript リソースを Plone 4 リソース レジストリにインクルードするアドオン ( collective.lazysizes ) があります。jsregistry.xml

<?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ですか? スクリプトを 1 つのファイルに結合する必要がありますか? どのように?resourcesバンドルにキーを追加する必要がありますか? それは何を含むべきですか?複数の CSS リソースについてはどうですか?

ドキュメントが複雑で、矛盾していることもあり、これについてはあまり明確ではありませんでした。

4

1 に答える 1

3

これが私がすることです:

  • すべての JS を 1 つのファイル (たとえば、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>

False に設定compileすると、Plone はこのバンドルを生成しようとしなくなり、手動で生成されたバンドルが保持されます。

ノート:

  • そうです、ドキュメントは今のところ明確ではありませんが、このブランチはすぐにマージされます https://github.com/plone/documentation/commits/resource_registry_doc_improvementsそして、それははるかに良くなります.

  • ご覧のとおり、各アドオンは独自のバンドルをもたらしますが、それらはメタバンドルにマージできます (5.0.3 の一部になる github.com/plone/Products.CMFPlone/issues/1277 を参照してください)。

于 2016-02-24T12:35:02.763 に答える