2016-07-13 14 views
0

Ich serviere Spa (mit angular.js) von asp.net mvc Anwendung. So werden alle .js Dateien von innerhalb Index.htmlGenerieren Sie Javascript-Konfiguration für verschiedene Umgebungen

geliefert Es gibt eine .js Datei, die mehr wie eine Konfigurationsdatei ist.

//environment 1 
//var url1 = "protocol : // abc.com /"; 

//environment 2 
//var url1= "protocol : // xyz.com /"; 

Problem: Jedes Mal, wenn ich dies zu einer Umgebung unter Verwendung eines beliebigen Einsatzstrategie bereitstellen möchten, muss ich un-Kommentar die Zeile jeweils zu dieser Umgebung.

Ich kann Visual Studio Transformationen nicht anwenden, da dies keine .config Datei ist. Wie kann ich diese .js Datei ohne manuelle Intervention wie Kommentieren/Entkommentieren bereitstellen/vorbereiten.

Ich bin sicher, dass es ein einfaches Konzept geben muss, um dieses Problem zu lösen, das ich nicht kenne. Kann etwas wie diese Datei von der Serverseite erzeugen. Wie kann ich das lösen?

+0

https://docs.asp.net/en/latest/fundamentals/environments.html –

+0

Oft es durch das Lesen Einstellungen in web.config gelöst ist, aber Es hört sich so an, als könntest du keine Konfig-Transformation machen ... –

Antwort

0

Sie können Gulp als Task-Runner verwenden. Kürzlich habe ich in meiner eigenen Arbeit alle Assets (JS-Dateien, CSS, HTML) gebündelt, verkleinert und versioniert. This Beispiel ist sehr einfach zu implementieren.

0

Wenn Sie Javascript-Bündelung in MVC verwenden, können Sie eine andere Javascript-Datei basierend auf einer Umgebungseinstellung in web.config bündeln.

Zum Beispiel in einem RegisterBundles Methode:

var appBundle = new ScriptBundle("~/bundles/app").Include(...); 
var environment = ConfigurationManager.AppSettings["environmentName"]; 
appBundle.Include($"~/js/config.{environment}.js"); 
bundles.Add(appBundle); 
Verwandte Themen