Обновить

Управление методами в зависимости от окружения в 🅰️ngular

Бывают случаи, когда нужно, чтобы определенные методы работали только:

  • 🛠️ В dev-режиме (например, фича-тогглы, дебаг-логи, экспериментальные функции)

  • 🚀 В prod-режиме (аналитика, мониторинг, продакшен-логика)

Вместо того чтобы писать if (isDevMode()) {...} везде, можно использовать декораторы Angular для более чистого и декларативного подхода.

_____

Одно из решений:

export function EnvMode(mode: 'dev' | 'prod') { return function (_: unknown, __: string, descriptor: PropertyDescriptor) { const originalMethod = descriptor.value; descriptor.value = function (...args: unknown[]) { const shouldExecute = mode === 'dev' ? isDevMode() : !isDevMode(); if (!shouldExecute) return; return originalMethod.apply(this, args); }; return descriptor; }; }

_____

Как использовать:

@EnvMode('dev') public setFeatureToggle(): void { // Сработает только в dev-режиме } @EnvMode('prod') public sendAnalytics(): void { // Сработает только в prod-режиме }

_____

🤔 А вы создавали кастомные декораторы? Зачем?

Больше про Angular в тг канале

Теги:
Рейтинг0
Комментарии0

В «Бюро 1440» представили серийный абонентский терминал и концепт компактной версии для подключения к спутниковой связи

Российская аэрокосмическая компания «Бюро 1440» (занимается разработкой низкоорбитальной спутниковой группировки и планирует предоставление услуг широкополосной передачи данных с глобальным покрытием, входит в «ИКС Холдинг») на форуме «Цифровые решения» представила линейку абонентских терминалов для подключения к спутниковой связи нового поколения. В компании впервые показали серийный абонентский терминал и концепт компактной версии.

В «Бюро 1440» представили серийный абонентский терминал и концепт компактной версии для подключения к спутниковой связи

Публикации