A JavaScript-kód módosítása a RooMOS makrókban
Frissítettük a makrókat a RoomOS-on futtató gépeket, és ezen frissítések eredményeként néhány JavaScript-konvenció és funkció már nem lesz elérhető a makrók számára. Különösen a CommonJS-hez kapcsolódó funkciók már nem érhetők el. Néhány gyakori példa az átírásra szoruló kódokra:
require(), beleértve:require('xapi')- át kell írni a szabványos ECimportMAScriptre. Például,const xapi = require('xapi')változottimport xapi from 'xapi'require.main
module, beleértve:module.exports- át kell írni a szabványos ECMAScript-reexportmodule.name- helyettesíteni kell_main_module_name()
Hogyan lehet ezt be- és kikapcsolni?
Ezek a változások akkor lépnek hatályba, xConfiguration Macros EvaluateTranspiledamint váltják át Truea False-ről. Ez a beállítás már régóta jelen van, és a módosítás az új kiadások alapértelmezett értékének megváltoztatásával Truetörténik False.
Ha a makrók megszakadnak ezzel a módosítással, a váltás visszaállítása (xConfiguration Macros EvaluateTranspiled: True) kifejezett beállítása rövid távú javítás annak érdekében, hogy a korábbihoz hasonlóan működjenek. Vegye figyelembe azonban, hogy ez csak ideiglenes megoldás: Ez a kapcsoló egy át meneti időszak után megszűnik.
Hasonlóképpen, a régebbi RooMOS verziókon ez a változás frissítés nélkül is tesztelhető a kapcsoló beállításával. False
Megjegy zés: Ha egy makró mentésre kerül az eszközre, amíg a kapcsoló van, Falseés később úgy dönt, hogy visszaállítja a váltó t True, szükség lehet a makrók újbóli mentésére a makrószerkesztőben.
Mikor lépnek hatályba ezek a változások?
A kapcsoló alapértelmezett értéke EvaluateTranspileda 2025. május (11.28.) a RoomOS-tól Falsekezdődően változott, ami azt jelenti, hogy az eszközök frissítéskor alapértelmezés szerint váltanak. Ugyanebben a verzióban a makrók XAPI-n keresztül történő mentésekor a transzpilációs lépés alapértelmezés szerint ki van kapcsolva. Ha az XAPI-n keresztül transzpilációra van szükség, akkor a transpile parancs opciót kifejezetten true értékre kell állítani.
A RoomOS-tól kezdve 2025. július 11.30-tól a diagnosztika megjelenik, amikor a kapcsoló beállításra van állítva. True Továbbra is működni fog, mint korábban.
Előre haladva a kapcsoló teljesen eltávolításra kerül, és a készülék úgy viselkedik, mintha erre lenne beállítva. False Célunk, hogy ezt a változást 2026. novemberében bevezetjük a RoOMOS-ban (27.0).
Azok az ügyfelek, akik a változásokról értesítésre és tájékoztatásra irányuló erőfeszítéseink ellenére makróik meghibásodnak, amikor a változások véglegesen érvényben vannak a RoOMOS-ban, továbbra is használhatják a felhőben regisztrált eszközök Control Hub által biztosított (legfeljebb) 6 hónapos késleltetett szoftverfrissítést a módosítás késleltetésére.
Miért szükséges ez? Műszaki részletek
Ennek a változásnak a fő meghajtója az, hogy frissítettük a JavaScript motorunkat a QuickJS használatához, amely modern, frissített JavaScript futásidejként szolgál a beágyazott rendszerek számára. Ezt követően, mivel a modern JavaScript-motorral már nincs rá szükség, most eltávolítjuk a JavaScript transzpilációs támogatását. Az összes kód áthelyezésének extra lépésének eltávolítása csökkenti a betöltési időt a kód telepítésekor és végrehajtásakor, valamint csökkenti a platform összetettségét.
A JavaScript motor kapcsolóját a következőre xConfiguration Macros QuickJSEngine: Offváltoztatták vezérli On. Ezt a változást a RooMOS 2023. decemberében (11.11) vezették be, és azt tervezzük, hogy eltávolítjuk ezt a konfigurációs váltót ugyanazon az idővonalon, mint. EvaluateTranspiled
Ezeket a változtatásokat azért hajtjuk végre, hogy a RooMOS maximális teljesítményt nyújtson, és segíthetünk Önnek a JavaScript-bővítmények hatékony és biztonságos telepítésének skálázásában.
További információ a makrókról a room os.cisco.com oldalon.