yarkov
@yarkov
Помог ответ? Отметь решением.

Как с помощью gulp правильно собрать js с учетом переменных среды?

Имеется фронтенд на Angular1. Есть сервис с методом, в котором жестко зашит URL API-сервера. Как с помощью gulp по феньшую собрать JS так, чтобы если переменная ENV == 'develop', то адрес сервера менялся на другой.
Я конечно могу тупо регуляркой заменить, но хочется правильно сделать.
Вот, например, для компиляции pug я с помощью gulp-data передаю в компилятор json с переменными. А как сделать с JS?
  • Вопрос задан
  • 268 просмотров
Решения вопроса 1
yarkov
@yarkov Автор вопроса, куратор тега JavaScript
Помог ответ? Отметь решением.
Может звезды не так встали, но envify у меня не взлетел. Решил проблему так:
// /gulpfile.babel.js
fs.writeFileSync('./.env.json', JSON.stringify(process.env, ["NODE_ENV"]));


// /src/js/modules/App.API/factoryes/API.factory.js
(function () {
    'use strict';

        window.process = {env: require('../../.env.json')};

        if (process.env.NODE_ENV === "development") {
            self.url = "https://api.domain.dev";
        }
        else {
            self.url = "https://api.domain.ru";
        }

})();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Смотря чем собираете. Для webpack EnvironmentPlugin, для browserify -- envify, или даже проще с алиасами выкрутиться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы