Короткий ответ: Нет, вам нужно будет сделать что-то другое.
Пояснение: Скрипт postfix для npm запускается, когда строится слип Heroku, когда вы делаете git-push для первого приложения Heroku в своем конвейере. Впоследствии, когда вы «продвигаете» релизы через ваш трубопровод Heroku (например, от «разработки» до «постановки» на «производство»), предварительно построенная пробка Heroku продвигается «как есть» и не перестраивается.
Следовательно, предположим, что у вас есть конфигурация var, установленная в вашем приложении «разработки», которое установит аргумент, который вы передадите «ng build» в «dev». Это означает, что когда вы нажмете на свое приложение «разработка», слизь будет построена с помощью опций «dev». Это нормально для приложения «разработки». ОДНАКО, когда вы впоследствии рекламируете «постановку» и «производство», вы будете продвигать заранее построенный слизень, который был построен с помощью опций «dev», который НЕ является тем, что вы хотите.
Итак, чтобы получить необходимую функциональность, вам нужно будет рассмотреть другой подход.
Один из способов сделать это - запустить скрипт «ng build» на фазе «npm prestart». Это должно работать и позволит вам использовать конфигурационные файлы Heroku для изменения вашего приложения Angular2 в зависимости от фазы конвейера Heroku, на которой они развернуты. Тем не менее, я обычно НЕ рекомендую этот подход. Это приведет к тому, что ваш «ng build» будет запускаться каждый раз, когда запускается «npm start», что довольно часто происходит на Heroku (т. Е. По крайней мере один раз каждые 24 часа или около того, плюс каждый раз, когда ваши револьверы Heroku перезапускаются по любой причине). Это приведет к тому, что ваше приложение будет испытывать больше времени простоя, чем необходимо. КАЖДЫЙ раз, когда перезагружаются ваши динозавры. Не очень хорошая идея, как правило.
Вместо этого лучше использовать приложение Angular2 для вашего сервера при его инициализации и вернуть серверу любые конкретные значения параметров конвейерной фазы, которые потребуются вашему приложению Angular2, на основе обычных конфигураций конфигурации Heroku.
Благодарим вас за ответ. Поэтому, чтобы убедиться, что я правильно понимаю, я не смогу использовать среду, в которой Угловая CLI настроена для меня так, как предполагалось? – Dauzy
Не так, как вы предложили в своем вопросе, нет. –
Привет @YoniRabinovitch Я столкнулся с той же проблемой и спросил [вопрос] (https://stackoverflow.com/questions/46824209/firebase-angular-4-initialize-based-on-node-environment) о внедрении сервера запрос для среды в Angular 4, можете ли вы помочь – ishaqbhojani