5

Ich habe ein MVC4-Projekt, das in Azure bereitgestellt wird. Die Bündelung und Verkleinerung funktioniert absolut gut.So veröffentlichen Sie nur gebündelte/verkleinerte Skripts

Alle Skriptdateien werden in einem Ordner/js, die gebündelt/scripts/js

Wenn ich zu Azure mit MSDeploy veröffentlichen, würde ich nur die gebündelten/minimierte Skriptdateien wie bereitgestellt werden. Ich möchte nicht, dass irgendjemand Zugang zu meinen nicht-minierten Skripten erhält, indem ich die URL errate.

Ich verstehe MVC Bündelung geschieht zur Laufzeit daher würde es die entbündelten Dateien benötigen, um die Pakete im laufenden Betrieb zu erstellen. Dies muss wahrscheinlich mit etwas wie Grunt vielleicht automatisiert werden?

Möchten Sie wissen, welche Bereitstellungsstrategie Personen in solchen Fällen verwenden, wenn Sie keine entbündelten js veröffentlichen möchten.

+0

Was haben Sie getan, um das zu lösen? Ich habe einen ähnlichen Fall und möchte aufhören, Dateien mit ihrer URL zu liefern, hast du am Ende Grunzen benutzt oder gibt es einen anderen Weg? – Bhavin

+0

dint bekommen eine Lösung als solche. Grunzen oder sogar Web-Essentials zu verwenden ist der Weg zu gehen, denke ich. – Yashvit

Antwort

0
+0

aber wie minimiere ich zuerst alle Dateien? – Yashvit

+0

Wechseln Sie einfach in den Freigabemodus und erstellen Sie Ihr Projekt, oder Sie können eine Build-Definition erstellen und die fortlaufende Integration verwenden, um Ihre Website zu veröffentlichen. –

+0

http://www.visualstudio.com/de-de/get-started/deploy-to-azure-vs –

0

Sie bekommen Ihre Skripte auf Pageload, so sehe ich nicht, warum sie sollten die unminifizierte Version sehen, sollte ein großes Problem sein, es sei denn, du hast in deiner unminifizierten Version verrückte oder anstößige Kommentare. Benutzer könnten einen Javascript-Formatierer verwenden, wie in in this SO post besprochen, um die verkleinerten Dateien wieder in ein lesbares Format zu bringen.

Sie können jedoch einfach eine web.config-Datei in den bereitgestellten Ordner /js legen, um zu verhindern, dass etwas ausgegeben wird. Bei meinen Tests hat dies die Minimierung nicht beeinflusst. Obwohl, wenn Sie es in Ihrem lokalen Ordner speichern, müssen Sie Fehler im Debug-Modus zu bündeln (seit den Debug-Modus dient dazu, die einzelnen Dateien und diese web.config hält alles aus bedient wird):

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <authorization> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</configuration> 

Ein weiteres Anliegen ist Je nachdem, wie paranoid Sie sind, wenn jemand ein unmini- miertes Skript sieht, müssen Sie möglicherweise eine eigene BundleBuilder-Klasse aus Gründen schreiben, die in How to prevent User-Agent: Eureka/1 to return source code beschrieben sind. Darin wird aufgezeigt, wie Benutzer unmini- mierte Pakete mit Kommentaren durch Ändern ihres Benutzeragenten sehen können.

Verwandte Themen