Penso che un sacco di confusione intorno a questo è dovuto al jQuery non proprio agire come un modulo esterno, che inibisce l'uso di un importcomunicato. La soluzione è abbastanza pulito, semplice e abbastanza da non sentire come un work-around elegante.
Ho scritto un semplice esempio di utilizzo RequireJS e jQuery a macchina , che funziona come segue ...
Si afferra le definizioni del tipo da Decisamente tipizzati per RequireJS e jQuery.
È ora possibile utilizzare RequireJS prime con tipizzazione statica all'interno del file dattiloscritto.
app.ts
///<reference path="require.d.ts" />
///<reference path="jquery.d.ts" />
require(['jquery'], function ($) {
$(document).ready(() => {
alert('Your code executes after jQuery has been loaded.');
});
});
E poi avete solo bisogno di aggiungere il tag singolo script alla pagina:
<script data-main="app" src="require.js"></script>
I vantaggi rispetto ad altre soluzioni?
- È possibile aggiornare jQuery e RequireJS in modo indipendente
- Non è necessario fare affidamento su progetto di spessore in fase di aggiornamento
- Non è necessario caricare manualmente jQuery (o qualsiasi altra cosa che non è "come un modulo" che si dispone di un
.d.tsprogramma per)