#javascript #typescript
#javascript #typescript
Вопрос:
Есть ли способ, чтобы tsconfig находился в моей папке prod, чтобы создавать исходные карты только в том случае, если process.env есть development
? Я не хочу, чтобы исходные карты создавались во время моей сборки CI / CD или отправлялись в производство.
Ответ №1:
tsconfig не должен был содержать в самом файле такие вещи, как env, это просто простой файл json. Чтобы делать то, что вы хотите, вы должны использовать свою собственную конфигурацию для каждого env aka tsconfig.production.json
, tsconfig.development.json
Затем вы можете в своем конвейере сборки использовать команду --project
/ --p
при выполнении tsc
, чтобы указать свое местоположение. Итак, если вы хотите, чтобы на вашем CI / CD создавались только сборки prod, тогда на вашем этапе выполнения tsc
вы можете просто tsc -p ./tsconfig.production.json
указать, где ./tsconfig.production.json
ваш путь к этому файлу. Если вы хотите, чтобы он использовал ваш env
собственный, большинство из CI/CD
них позволяет вам выполнять другой сценарий в зависимости от env
so, и снова вы просто выполняете его для сборки prod.
Еще одно краткое замечание: большинство людей структурируют свои файлы tsconfig так, чтобы иметь base
файл, который, как указано в этом примере tsconfig.development.json
, расширяется, и так tsconfig.production.json
оно и есть . В у tsconfig.base.json
вас все те же основные настройки, поэтому вы не повторяетесь дважды, при отключенных исходных картах. Затем в tsconfig.development.json
вы можете расширить этот файл и включить исходные карты, чтобы по-прежнему обрабатывать хорошую отладку при разработке.
В любом случае, я надеюсь, что это надеется.