В 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 { // ваш код для разработки }
У каждого из этих методов есть свои преимущества и недостатки. Выбор метода определения типа сборки зависит от ваших потребностей и требований проекта.