2017-09-29 4 views
0

Ich füge SystemJS zu meinem Projekt hinzu, aber ich muss noch einige der Pakete verwenden, die ich in BundleConfig.cs definiert habe. Ich möchte Abhängigkeiten mit SystemJS importieren, aber ich kann meinen eigenen Code erst darstellen, wenn diese Abhängigkeiten geladen sind.Wie rufe ich Scripts.Render innerhalb eines Javascriptblogs in MVC auf?

Hier ist meine cshtml Datei

<html lang="en" ng-app="app"> 
<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width" /> 
    <title>My-App</title> 

    @Scripts.Render("~/bundles/base") // SystemJS and polyfills 

</head> 

<body> 
    <script> 
     System.import("angular") 
     .then(function() { 

      // THIS IS WHERE I WOULD LIKE TO RENDER ANOTHER BUNDLE 

      }) 
    </script> 
<body> 
</html> 

Gerade @Scripts.Render in den Skriptblock bricht den HTML-Skript-Parsing schiebend - weil alles, was eine Reihe von Script-Tags injizieren tut, ist.

Bitte beachten Sie, dass ich speziell nach MVC-Cshtml-Lösungen suche, die es mir ermöglichen, meine vordefinierten Bundles aufzurufen - ich hoffe, das Schreiben von Script-Importen für jede Datei in meinem Projekt zu vermeiden.

+0

bezogen, obwohl dies speziell mit MVC-Skript zu tun hat, bündelt – tcmoore

+0

nein, es für jede Datei in dem Bündel – tcmoore

+0

zumindest für Debug – tcmoore

Antwort

1

Erstens, um Skripte dynamisch in Ihrem JavaScript zu laden, müssen Sie nur fest codierte Pfadreferenzen haben. Sie können so etwas wie Scripts.Render nicht verwenden, wie Sie herausgefunden haben.

Dies ist jedoch nicht wirklich ein Problem, wenn Sie verstehen, wie das Bündelsystem funktioniert. Das Paket, das Sie erstellen, d. H. ~/bundles/base, ist eigentlich eine Route zu diesem Bundle. Mit anderen Worten, Sie können buchstäblich etwas tun wie:

<script src="/bundles/base"></script> 

Und das gebündelte JavaScript wird enthalten sein. Verwenden Sie diese Route also nur mit Ihrem Skriptlader.

+0

danke! das ist es, was ich tatsächlich getan habe - mit System.import nicht weniger – tcmoore

Verwandte Themen