Формат вывода
По умолчанию tsdown генерирует JavaScript-код в формате ESM (ECMAScript Module). Однако вы можете указать желаемый формат вывода с помощью опции --format:
tsdown --format esm # по умолчаниюДоступные форматы
esm: формат ECMAScript Module, идеально подходит для современных JavaScript-окружений, включая браузеры и Node.js.cjs: формат CommonJS, часто используемый в проектах Node.js.iife: Immediately Invoked Function Expression (немедленно вызываемое функциональное выражение), подходит для встраивания в теги<script>или автономного использования в браузере.umd: Универсальный модульный стандарт, подходящий для работы с AMD, CommonJS и глобальными переменными.
Пример
# Генерирует вывод в формате ESM (по умолчанию)
tsdown --format esm
# Генерирует вывод как в ESM, так и в CJS форматах
tsdown --format esm --format cjs
# Генерирует вывод в формате IIFE для использования в браузере
tsdown --format iifeTIP
Вы можете указать несколько форматов в одной команде для генерации выходных файлов для разных окружений. Например, комбинирование esm и cjs обеспечивает совместимость как с современными, так и с устаревшими системами.
Переопределение конфигурации по форматам
Вы можете переопределить отдельные параметры конфигурации для каждого формата вывода, указав объект format в файле конфигурации. Это позволяет настраивать такие параметры, как target и другие, индивидуально для каждого формата.
export default defineConfig({
entry: ['./src/index.js'],
format: {
esm: {
target: ['es2015'],
},
cjs: {
target: ['node20'],
},
},
})В этом примере выходной файл в формате ESM будет нацелен на стандарт ES2015, а формат CJS — на Node.js 20. Такой подход обеспечивает более точный контроль над процессом сборки для разных форматов модулей.