# Caricare librerie JS tramite register\_asset

**URL:** <https://meta.discourse.org/t/loading-js-libraries-via-register-asset/156003>\
**Category:** Development\
**Created:** [26 Giugno 2020, 9:12am UTC](https://meta.discourse.org/t/loading-js-libraries-via-register-asset/156003 "2020-06-26T09:12:39Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![eviltrout](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviltrout/32/5275_2.png) [@eviltrout](https://meta.discourse.org/u/eviltrout)\
**Post date:** [2 Luglio 2020, 5:06pm UTC](https://meta.discourse.org/t/loading-js-libraries-via-register-asset/156003/8 "2020-07-02T17:06:07Z")

</div>

Ho esaminato il tuo plugin e posso confermare che `eval` è presente solo in modalità di sviluppo. In produzione verrà inserito nell’ambito globale. Capisco che non sia l’ideale, ma penso anche che le librerie non dovrebbero essere distribuite senza un qualche tipo di supporto per i moduli (ad esempio, UMD).

Il mio suggerimento sarebbe di ricomporre il JS con un qualche supporto UMD e poi `importarlo`, ma la configurazione può essere piuttosto complessa se non si ha molta esperienza con i moduli JS.

In alternativa, un modo semplice per far funzionare tutto è modificare `RecordRTC.js` e aggiungere la riga seguente:

```js
window.RecordRTC = RecordRTC;

```

Sarebbe ancora meglio racchiudere l’intero contenuto in un [IIFE](https://en.wikipedia.org/wiki/Immediately_invoked_function_expression):

```js
(function(exports) {
  // qui vanno i contenuti originali del file
  exports.RecordRTC = RecordRTC;
})(window);

```

---

_[View the full topic](https://meta.discourse.org/t/loading-js-libraries-via-register-asset/156003)._
