룸OS 매크로의 자바스크립트 코드 변경이에요
RoomOS에서 매크로를 실행하는 시스템을 업데이트했는데, 이번 업데이트의 결과로 일부 자바스크립트 규칙과 함수를 매크로에서 더 이상 사용할 수 없게 됐어요. 특히 CommonJS 관련 함수는 더 이상 사용할 수 없어요. 다시 작성해야 하는 코드의 일반적인 몇 가지 예는 다음과 같습니다.
require(), 다음을 포함해서:require('xapi')- 표준importECMA 스크립트로 다시 써야 돼요. 예를 들어, 로const xapi = require('xapi')바꿨어요import xapi from 'xapi'require.main
module, 다음을 포함해서:module.exports- 표준 ECMA 스크립트로 다시 써야 해요exportmodule.name- 로 바꿔야 돼요_main_module_name()
이거 어떻게 켜고 끄는 거예요?
이 변경사항은 에서 True로 전환하면 xConfiguration Macros EvaluateTranspiled적용돼요. False 이 설정은 오래 전부터 있었고 새 릴리즈에서 기본값을 에서 로 변경해서 변경 사항이 True적용됐어요.False
이 변경 사항에서 매크로가 고장나는 경우 명시적으로 토글 백 (xConfiguration Macros EvaluateTranspiled: True) 을 설정하는 것이 이전처럼 작동하도록 하기 위한 단기적인 해결책이에요. 하지만 이것은 일시적인 해결책일 뿐이라는 점을 주의하세요. 이 토글은 과도기가 지나면 없어질 거예요.
마찬가지로, 이전 RoomOS 버전에서는 토글을 로 설정하여 업그레이드 없이 이 변경 사항을 테스트할 수 있어요. False
참고: 토글 상태일 때 장치에 매크로를 저장했다가 나중에 다시 토글을 돌리려고 하면 매크로 편집기에서 해당 매크로를 다시 저장해야 True할 수도 있어요. False
변경 사항은 언제 적용돼요?
EvaluateTranspiled토글 기본값이 RoomOS 2025년 5월 (11.28) False부터 시작하도록 변경됐어요. 업그레이드 시 기기가 기본적으로 전환된다는 뜻이에요. 같은 버전에서 XAPI로 매크로를 저장할 때의 트랜스파일 단계가 기본적으로 꺼져 있어요. XAPI를 통한 트랜스파일이 필요한 경우 트랜스파일 명령 옵션을 명시적으로 true로 설정해야 해요.
룸OS 2025년 7월 (11.30) 부터 토글이 설정되면 진단 결과가 보여요. True 여전히 예전처럼 작동할 거예요.
앞으로는 토글이 완전히 제거되고 기기가 설정된 것처럼 작동할 거예요. False 2026년 11월 (27.0) 에 이 변경 사항을 객실에 출시하는 것을 목표로 하고 있어요.
변경 사항을 알리고 알리려는 최선의 노력에도 불구하고 RoomOS에 변경 사항이 영구적으로 적용되면 매크로가 실패하는 것을 본 고객은 여전히 Control Hub를 통해 클라우드 등록 장치용으로 제공되는 (최대) 6개월 지연된 소프트웨어 업데이트를 사용하여 변경을 연기할 수 있어요.
이게 왜 필요해요? 기술 세부 사항
이번 변경의 주된 동인은 임베디드 시스템을 위한 현대적이고 업데이트된 자바스크립트 런타임 역할을 하는 QuickJS를 사용하도록 자바스크립트 엔진을 업데이트했다는 거예요. 그 후, 현대 자바스크립트 엔진에서는 더 이상 필요하지 않아서 이제 자바스크립트 트랜스파일 지원을 없애고 있어요. 모든 코드를 트랜스파일하는 추가 단계를 제거하면 코드 배포 및 실행 시 로드 시간이 단축되고 플랫폼 복잡성이 줄어들어요.
자바스크립트 엔진 스위치는 Changed로 xConfiguration Macros QuickJSEngine: Off제어돼요 On. 이 변경 사항은 RoomOS 2023년 12월 (11.11) 에 출시되었으며, 동일한 일정에 이 구성 토글을 제거할 계획이에요. EvaluateTranspiled
RoomOS의 성능을 극대화하고 효율적이고 안전한 방식으로 JavaScript 확장 프로그램 배포 규모를 조정할 수 있도록 이러한 변경을 하고 있어요.
매크로에 대한 자세한 내용은 roomos.cisco.com에서 읽어보세요.