Myślę, że dużo zamieszania wokół tego wynika jQuery nie naprawdę zachowuje się jak zewnętrzny moduł, który hamuje zastosowanie importrachunku. Rozwiązanie jest dość czyste, proste i wystarczy, aby nie czuć się jak obejść eleganckie.
Pisałem nawet prosty przykład Korzystanie RequireJS i jQuery w maszynopisie , który działa w następujący sposób ...
Chwycić definicji typu z pewnością typizowanych dla RequireJS i jQuery.
Można teraz używać surowych RequireJS ze statycznego typowania wewnątrz pliku maszynopisu.
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.');
});
});
A potem trzeba tylko dodać jeden tag skryptu na swojej stronie:
<script data-main="app" src="require.js"></script>
Korzyści w stosunku do innych rozwiązań?
- Można zaktualizować jQuery i RequireJS niezależnie
- Nie musisz polegać na projekt podkładka aktualizowany
- Nie trzeba ręcznie załadować jQuery (lub cokolwiek innego, co nie jest „niczym” modułu że masz
.d.tsplik o)