状況
Discourse インスタンスに外部の logging JS ライブラリを追加し、log.setLevel('debug') などでログレベルを設定できる軽量なログラッパーを活用して、デバッグワークフローを改善したいと考えています。
この外部ライブラリは、アプリにインストールされているすべてのカスタムプラグイン、テーマ、テーマコンポーネントで利用可能である必要があります。
実装について
• 複数のプラグインで register_asset を通じて JS をインポートすると、JS ファイルが複数回読み込まれてしまうのでしょうか?
• Ember が console.log の採用によりログユーティリティを非推奨とした後、同様の機能を持つ代替の JS ライブラリは存在するでしょうか?
現在、以下の手順で実装を進めています。
- 外部 JS をインポートするプラグインをインストールし、JS ライブラリを
windowオブジェクト経由で利用可能にする(window.log = log)
• JS ライブラリは 1 回だけインポート
• 他のプラグイン、テーマ、テーマコンポーネントはそのプラグインに依存することになり、オープンソースのプラグインの場合、ユーザーに両方のプラグインのインストールを強制してしまう可能性があります
このアプローチは妥当でしょうか、それとも別の方法を推奨されますか?