RequireJS - ASP.NET MVC-Bundle-Skript

9

Ich habe zwei Fragen.

Ich versuche RequireJS zu lernen und benutze es zusammen mit ASP.NET MVC Bündelung & amp; Minification. Ich verwende eine separate Konfigurationsdatei für RequireJS, die die Bündelungsinformationen enthält. Mein erstes Problem ist, wie ich den von MVC generierten Paketpfad an die Datei require.config.js weitergebe. Ein sauberer Weg, um das zu tun, ist wie folgt:

index.cshtml

%Vor%

require.config.js

%Vor%

Wenn ich das obige tue, versucht RequireJS, ein nicht existierendes Skript mit dem Namen bundlePath.js zu laden, stattdessen möchte ich das gebündelte Skript "/ bundles / scripts? v = GZ0QWPB4G0soItEmlsPC6Yp3zftCRVleVTcH3LseMWo1" laden, das meine Module enthält. Meine Frage ist also, wie übergebe ich die vom Server generierte Bundle-URL an RequireJS in der Datei require.config.js, ohne den Bundle-Pfad fest zu codieren?

Zweitens scheint das jqueryui-Modul nicht geladen zu werden. Ich habe den Modulnamen im AMD-Code in der jquery-ui-min-Datei hinzugefügt. Wie mache ich jquery ui mit RequireJS und ASP.NET Bündelung arbeiten?

    
MPM 29.04.2015, 11:26
quelle

2 Antworten

2

Es gibt ein NuGet-Paket RequireJs.NET Ссылка , das eine Implementierung von RequireJs für .NET MVC ist.

RequireJS ist eine Implementierung von Asynchronous Module Definition (AMD), die alle Werkzeuge zum Schreiben von modularem JavaScript bereitstellt. Wenn Sie an einem großen Projekt mit viel JavaScript-Code, vielen externen Komponenten und Frameworks arbeiten, wird RequireJS Ihnen helfen, die Komplexität von Abhängigkeiten zu verwalten.

Sie haben Zugriff auf eine Konfigurationsdatei (json), die wie folgt aussieht:

%Vor%

Danach werden Sie RequireJs config in Ihr Layout rendern.

%Vor%

Für weitere Informationen können Sie auf die Dokumentationsseite zugreifen: Ссылка .

Oder das github-Projekt (für Fragen und Fragen): Ссылка

In diesem Paket existiert auch ein Kompressor zum Bündeln und Minimieren (basierend auf YUI-Kompressor).

    
Razvan Dumitru 04.06.2015 10:20
quelle
0

Verwenden Sie anstelle von bundlePath den Paketpfad "/ Scripts / bundles / scripts". Es wird funktionieren.

    
Naveenk 03.11.2015 06:28
quelle