Мне нужно подтверждение по следующей теории.Согласно TS docs , есть два параметра, которые можно установить в tsconfig.json .
-allowSyntheticDefaultImports: Разрешить импорт по умолчанию из модулей без экспорта по умолчанию.Это не влияет на генерацию кода, только на проверку типов.
- esModuleInterop: Emit __importStar и __importDefault помощники для совместимости и поддержки Babel во время выполнения.--allowSyntheticDefaultImports для совместимости типов систем.
Когда я перебираю Google, я вижу, что оба установлены на true (по крайней мере, в отношении поведения I 'м стремлюсь).Однако, насколько я понимаю документы, TS и перенос в JS, нет смысла использовать их оба.
Как я понимаю, я мог бы использовать только последние и полностью удалить первые.Однако, будучи осторожным и скромным, я не совсем уверен и беспокоюсь о том, что делаю что-то менее яркое, не осознавая этого в настоящий момент.
Боюсь, что это что-то неуместное, что укусит меня в ослаПозже он стал причиной нескольких часов скорби и выдергивания волос во время отчаянного устранения неполадок.Основанием для скептицизма является то, что оба варианта доступны, поэтому я делаю вывод, что в четырех случаях требуются все комбинации ( true / false и т. Д.), Но я не могу представить, какие они есть..
Безопасно ли пропускать - allowSyntheticDefaultImports , если - esModuleInterop: true в compilerOptions ?И если да, то почему у нас есть эта опция?
Бонусный вопрос: когда она требуется со всеми четырьмя комбинациями ( true / false ) для этих двух опций?