Как в Angular определить это локально собранный проект или проект открытый на проде?

В Angular есть несколько способов определить, является ли ваш проект локально собранным или открытым на проде.

1. Использование переменной среды environment: В Angular есть файлы конфигурации среды, такие как environment.ts для разработки и environment.prod.ts для продуктовой среды. В этих файлах определены переменные среды, которые могут быть использованы для определения типа сборки. В файле environment.ts вы можете установить значение переменной production в false, а в файле environment.prod.ts - в true. Затем вы можете использовать эту переменную environment.production в вашем коде Angular для определения типа сборки.

import { environment } from 'src/environments/environment';

if (environment.production) {
  // ваш код для продуктовой среды
} else {
  // ваш код для разработки
}

2. Использование переменной window.location: Вы можете использовать свойство window.location.href для получения текущего URL-адреса. Затем вы можете проверить, содержит ли URL-адрес доменное имя продакшена или локальной сборки:

if (window.location.href.includes('localhost')) {
  // ваш код для локальной сборки
} else {
  // ваш код для продуктовой среды
}

3. Использование переменной process.env.NODE_ENV: Если вы используете сборщик, такой как Webpack, для сборки вашего проекта Angular, вы можете проверить значение переменной process.env.NODE_ENV. В файле webpack.config.js вы можете установить значение process.env.NODE_ENV в 'development' для разработки и 'production' для продуктовой среды. Затем вы можете использовать эту переменную в вашем коде Angular:

if (process.env.NODE_ENV === 'production') {
  // ваш код для продуктовой среды
} else {
  // ваш код для разработки
}

У каждого из этих методов есть свои преимущества и недостатки. Выбор метода определения типа сборки зависит от ваших потребностей и требований проекта.