9

içinde ASP.NET Çekirdek Ortamı Nasıl Belirlenir Visual Studio 2015 kullanarak ASP.NET Çekirdek MVC 6 kullanıyorum. Benim gulpfile.js betiğimde barındırma ortamının Geliştirme, Evreleme veya Üretimi kaynak haritalar (.map dosyaları) ekleyebilir veya kaldırabilir ve başka şeyler yapabilirim. Mümkün mü?Gulpfile.js

GÜNCELLEME GitHub üzerinde

İlgili konu.

cevap

5

Çevreyi bulmak için ASPNETCORE_ENVIRONMENT (Eskiden ASPNET_ENV RC1 modelinde) ortam değişkenini kullanabilirsiniz. Bu process.env.ASPNETCORE_ENVIRONMENT kullanarak gulpfile yapılabilir.

Ortam değişkeni yoksa Visual Studio'nun uygulamanızı başlatmak için kullandığı launchSettings.json dosyasını okuyabilirsiniz. Bu da yoksa, Geliştirme ortamını kullanmaya geri dönüş.

gulpfile.js dosyasındaki ortamı daha kolay hale getirmek için aşağıdaki JavaScript nesnesini yazdım. Tam gulpfile.js kaynak kodunu here bulabilirsiniz.

// Read the launchSettings.json file into the launch variable. 
var launch = require('./Properties/launchSettings.json'); 

// Holds information about the hosting environment. 
var environment = { 
    // The names of the different environments. 
    development: "Development", 
    staging: "Staging", 
    production: "Production", 
    // Gets the current hosting environment the application is running under. 
    current: function() { 
     return process.env.ASPNETCORE_ENVIRONMENT || 
      (launch && launch.profiles['IIS Express'].environmentVariables.ASPNETCORE_ENVIRONMENT) || 
      this.development; 
    }, 
    // Are we running under the development environment. 
    isDevelopment: function() { return this.current() === this.development; }, 
    // Are we running under the staging environment. 
    isStaging: function() { return this.current() === this.staging; }, 
    // Are we running under the production environment. 
    isProduction: function() { return this.current() === this.production; } 
}; 

ortam değişkeni nasıl ayarlanacağı için this yanıta bakın.

+0

Bu, RC1'de sıfırdır ve bu nedenle çalışmıyor ve hala mevcut yapılandırmamızı bize vermiyor. –

+0

ASPNET_ENV değişkenini Windows/Linux/Mac OS'nuzda ayarlamanız gerekir. Buna bakın: https://stackoverflow.com/questions/32301840/how-to-set-asp-net-5-environment-variables-on-production-environment/32326666#32326666 –

+0

Ayrıca, bu ortam değişken adının da değiştiğine dikkat edin. RC2'de. –

1

NODE_ENV ortam değişkenini her ortamda ve daha sonra gulp dosyanızda ayarlamanız gerekir, process.env.NODE_ENV adresini kullanarak okuyun.

Ek ayrıntılar için https://stackoverflow.com/a/16979503/672859'a bakın.

+0

Yani bu çalışma için bir düğüm ortamı ve ASP.NET 5 ortamı ayarlamanız gerekiyor. ASP.NET 5 barındırma ortamına göre düğüm ortamını ayarlamak mümkün mü? –

+1

Hiç kullanmadığımdan beri Visual Studio'yu bilmiyorum, ama bu sizin gulp görevlerinizi nasıl çalıştırdığınıza bağlı. VS, gulp görevlerinizin çalıştığı bir tür gömülü düğüm ortamına sahip mi? Eğer öyleyse, tercihlere bakarım. Gulp görevleriniz sadece komut satırından çalıştırılıyorsa, OS düzeyindeki ortam değişkenlerinizi ayarlamanız gerekir. –

+0

Sorun şu ki, ortam istemiyorum ya da en azından yapı yapılandırması başına (DEBUG, RELEASE vb.) Çevre değişkenleri ayarlayabilmek istiyorum, böylece demo ortamımız için oluşturduğumda, bunun demoya gittiğini biliyorum çevre ve API'nin URL'si buna göre Açısal uygulamasında ayarlanır. Şu anda belirli bir ortama dağıtmanın ve bir web tarayıcısında javascript'te okunabilen yeniden yapılandırma yapılandırmasını dağıtmanın hiçbir yolunu kullanamıyorum. Mvc'yi içeriğe bağlı olarak web.config veya başka bir şekilde ayarlamaktan başka bir nedenden dolayı kullanmam gerekiyor. –

İlgili konular