RoomOSでのトランスパイル非推奨です
list-menuフィードバックがある場合
組み込みシステム向けの最新のJavaScriptランタイムとして機能するQuickJSを使用するようにJavaScriptエンジンを更新しました。 この動きの一環として、プラットフォームでのJavaScriptのトランスパイルのサポートを削除する予定です。

ルームズマクロのJavaScriptコードへの変更

RoomOSでマクロを実行する仕組みを更新しました。これらの更新の結果、一部のJavaScriptの規約と機能がマクロで使用できなくなります。 特に、CommonJS関連の機能は利用できなくなりました。 書き換えが必要なコードの一般的な例は次のとおりです。

  1. require()、含む:
    • require('xapi')-import標準のECMAScriptに書き直す必要があります。 例えば、const xapi = require('xapi')に変更されました import xapi from 'xapi'
    • require.main
  2. module、含む:
    • module.exports-標準のECMAScriptに書き直す必要があります export
    • module.name-に置き換える必要があります _main_module_name()

これはどうやってオン/オフするの?

xConfiguration Macros EvaluateTranspiledこれらの変更は、Trueからに切り替えると有効になります。False この設定は古くから存在しており、TrueFalse新しいリリースのデフォルト値をからに変更することで変更が反映されます。

この変更でマクロが機能しなくなった場合、toggle back (xConfiguration Macros EvaluateTranspiled: True) を明示的に設定することは、以前と同じように機能させるための短期的な解決策です。 ただし、これは一時的な解決策に過ぎないことに注意してください。このトグルは、移行期間が過ぎると無効になります。

同様に、古いRoomOSバージョンでは、Falseトグルをに設定することで、アップグレードせずにこの変更をテストできます。

注:Falseトグルがあるときにマクロがデバイスに保存され、後でトグルをに戻す場合はTrue、マクロエディターでそれらのマクロを再保存する必要があるかもしれません。

これらの変更はいつ有効になりますか?

EvaluateTranspiledトグルのデフォルト値は、2025年5月(11.28)FalseにRoomOSから開始するように変更されました。つまり、アップグレードするとデバイスはデフォルトで切り替わります。 同じバージョンでは、XAPIを使用してマクロを保存するときのトランスパイルステップはデフォルトでオフになっています。 XAPIによるトランスパイルが必要な場合は、transpileコマンドオプションを明示的にtrueに設定する必要があります。

RoomOSから、2025年7月(11.30)から、トグルがに設定されているときに診断が表示されます。True 以前と同じように機能します。

今後、トグルは完全に削除され、デバイスはに設定されているかのように動作します。False この変更をRoomOSで2026年(27.0)11月に導入することを目指しています。

RoomOSに変更を通知および通知するために最善を尽くしたにもかかわらず、RoomOSに変更が恒久的に適用されているのにマクロが失敗することがあるお客様は、クラウド登録デバイス用にControl Hubを通じて提供される(最大)6か月の遅延ソフトウェアアップデートを引き続き使用して、変更を遅らせることができます。

なぜこれが必要なのですか? 技術的な詳細

この変更の主な理由は、組み込みシステム用の最新のJavaScriptランタイムとして機能するQuickJSを使用するようにJavaScriptエンジンを更新したことです。 その後、現代のJavaScriptエンジンでは不要になったため、JavaScriptのトランスパイルのサポートを削除しました。 すべてのコードをトランスパイルするという余分な手順を削除することで、コードをデプロイして実行する際のロード時間が短縮され、プラットフォームの複雑さが軽減されます。

JavaScriptエンジンスイッチは、xConfiguration Macros QuickJSEngine: Offに変更することで制御されますOn。 この変更はRoomOSで2023年12月(11.11)に導入されました。と同じタイムラインでこの設定の切り替えを削除する予定です。EvaluateTranspiled

これらの変更は、RoomOSが最大限のパフォーマンスを発揮できるようにするため、また、JavaScript拡張機能の導入を効率的かつ安全に拡大できるよう支援するためです。

マクロの詳細については、roomos.cisco.comで読んでください。

この投稿記事は役に立ちましたか?
この投稿記事は役に立ちましたか?