Glimmer 컴포넌트 변경 감지가 작동하지 않음 - @tracked 배열 속성 변경

loadScript()를 사용하면 외부 URL이더라도 JS를 로드할 수 있습니다. jsdelivr와 같은 외부 서비스를 사용하면 이 방식으로 작동해야 합니다.

import loadScript from "discourse/lib/load-script";

...

loadScript(URL).then(() => {
   // your code
})

광범위하게 테스트해 보지는 않았지만, 동적 import도 작동할 것입니다.

async function load() {
  const {
    default: myDefault,
    foo,
    bar,
  } = await import(URL);
  // rest of code
}

참고로, 해당 JS의 중요도에 따라 외부 CDN에 의존하기보다는 NPM 파일을 코드로 직접 저장하는 것이 더 안전할 수 있습니다. 마찬가지로, 브라우저에서 사용하기 전에 번들링 및 전처리 작업을 조금 수행해야 할 수도 있습니다.


Immer가 Discourse와 함께 작동하는지에 대해서는 제가 알지 못합니다.