Ik denk dat veel van de verwarring rond dit is te wijten aan jQuery niet echt gedragen als een externe module, die het gebruik van een remt importverklaring. De oplossing is heel schoon, eenvoudig en elegant genoeg om niet te voelen als een work-around.
Ik heb geschreven een eenvoudig voorbeeld van het gebruik van RequireJS en jQuery in typoscript , die werkt als volgt ...
Je pakt het type definities uit Zeker Getypt voor RequireJS en jQuery.
U kunt nu ruwe RequireJS met statische typen binnenkant van het logbestand.
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.');
});
});
En dan hoeft u alleen de enkele script tag toe te voegen aan uw pagina:
<script data-main="app" src="require.js"></script>
Voordelen ten opzichte van andere oplossingen?
- U kunt jQuery en RequireJS onafhankelijk te werken
- Je hoeft niet te vertrouwen op shim project wordt bijgewerkt
- Je hoeft niet handmatig jQuery laden (of iets anders dat is niet "als een module" dat je een hebt
.d.tsbestand)