يمكنك استخدام loadScript() لتحميل JS، حتى لو كان عنوان URL المقدم عنوان URL خارجيًا. يجب أن تعمل الخدمات الخارجية مثل jsdelivr مع هذا.
import loadScript from "discourse/lib/load-script";
...
loadScript(URL).then(() => {
// your code
})
على الرغم من أنني لم أختبره بشكل شامل، إلا أن الاستيراد الديناميكي يجب أن يعمل أيضًا.
async function load() {
const {
default: myDefault,
foo,
bar,
} = await import(URL);
// rest of code
}
يجب أن أشير إلى أنه من الآمن على الأرجح حفظ ملفات NPM مباشرة في الكود الخاص بك بدلاً من الاعتماد على شبكة توصيل محتوى خارجية، اعتمادًا على مدى أهمية JS. وبالمثل، قد تحتاج إلى إجراء بعض التجميع والمعالجة المسبقة قبل أن تتمكن من استخدامه في المتصفح.
أما بالنسبة لما إذا كان Immer سيعمل مع discourse، فلا أعرف.