Ciao @merefield – È ancora questo il modo per farlo?
Sto cercando di importare qrcode.js per generare un QRcode nel browser.
Vengo bloccato da CSP e non capisco come possa essere un problema di CSP se è sullo stesso host. Questo è su un server di produzione che usa discourse_theme per il debug.
E sembra che la funzione non venga chiamata per caricare lo script se non chiamo this.ensureQRCode();, cosa che tu non sembri fare nel tuo componente.
Lo script è disponibile e posso recuperarlo (quindi ho fatto bene con le cose in about.json e /assets/qrcode.js), ma il browser si rifiuta di caricarlo.
Il risultato del tuo loadscript è una promise, quindi devi inserire il tuo codice che si basa su di essa in un blocco .then come nel mio codice di esempio.
Questo risolve CSP, rende il tema autonomo ed è considerata una buona pratica, invece di caricarlo da terze parti.
Caricalo pigramente
Solo quando necessario, puoi caricarlo pigramente usando await loadScript. Ciò significa che non verrà caricato nelle pagine in cui non è necessario, rallentando l’intero sito.