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와 함께 작동하는지에 대해서는 제가 알지 못합니다.