/ / Как да определите средата ASP.NET Core в моя Gulpfile.js - глуп, asp.net-core, производствена среда, visual-studio-2015, asp.net-core-mvc

Как да определите средата ASP.NET Core в моя Gulpfile.js - гулп, asp.net-core, производствена среда, visual-studio-2015, asp.net-core-mvc

Аз използвам ASP.NET Core MVC 6, използвайки Visual Studio 2015. В моя скрипт gulpfile.js искам да знам дали хостинг средата е "Развитие", "Staging" или "Производство", така че да мога да добавя или премахва карти на изход (.map) и да правя други неща. Възможно ли е това?

UPDATE

Съответният въпрос на GitHub.

Отговори:

5 за отговор № 1

Можете да използвате ASPNETCORE_ENVIRONMENT (Преди това беше ASPNET_ENV в RC1) променлива на околната среда, за да се получи околната среда. Това може да се направи във вашия гълъпфайл process.env.ASPNETCORE_ENVIRONMENT.

Ако променливата на средата не съществува, можете да се върнете към четене на launchSettings.json файла, който Visual Studio използва, за да стартира приложението ви. Ако това също не съществува, а след това резервен да използвате среда за развитие.

Написах следния JavaScript обект, за да се справя по-лесно с работата с околната среда в gulpfile.js. Можете да намерите пълния изходен код на gulpfile.js тук.

// 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; }
};

виждам това отговор за това как да зададете променливата на средата.


1 за отговор № 2

Ще трябва да зададете променливата на средата NODE_ENV във всяка среда и след това във вашия гълъп файл, да я прочетете в process.env.NODE_ENV.

Погледни https://stackoverflow.com/a/16979503/672859 за допълнителни подробности.