Обычно проекты JavaScript переключаются в зависимости от того, где они выполняются. Вы можете легко сделать это с помощью webpack, поскольку он поддерживает удаление бесполезного кода на основе переменных среды.
Добавьте различные сценарии в свои scripts в package.json:
/** * Этот интерфейс гарантирует, что мы не пропустим добавление свойства в `prod` * и `test` сборках. */interfaceConfig{someItem:string;}/** * Экспортируем только config. */exportletconfig:Config;/** * `process.env.NODE_ENV` значение будет запущено из webpack * * Весь блок `else` будет удален в сгенерированном JavaScript. * для продакшн сборки */if(process.env.NODE_ENV==='production'){config={someItem:'prod',};console.log('Запуск для продакшн сборки');}else{config={someItem:'test',};console.log('Запуск для тестовой сборки');}
Мы используем process.env.NODE_ENV только потому, что это договорённость во многих библиотеках JavaScript, например React.