Генерировать вывод IIFE с помощью свертки

#javascript #bundle #rollupjs

#javascript #пакет #rollupjs

Вопрос:

Я работаю над несколькими веб-приложениями и пытаюсь использовать накопительный пакет для объединения моего кода. Я создал небольшую программу, которая может выполнить объединение для меня. Однако я столкнулся с проблемой форматирования IIFE.

Я пробовал другие форматы, такие как ‘es’ и ‘amd’, но столкнулся с другими проблемами. Я немного почитал, и кажется, что IIFE является наиболее подходящим форматом.

Я получаю эту ошибку в консоли при попытке объединения:

Предупреждение о необработанном promiserejectionwarning: Ошибка: форматы вывода UMD и IIFE не поддерживаются для сборок с разделением кода

Вот код для объединения:

 function createBundle(slug, destinationPath) {
    const config = {
        input: './apps/'   slug   '/index.js',
        preserveEntrySignatures: false,
        plugins: [resolve({preferBuiltins: false}), common()]
    }

    rollup.rollup(config).then((bundle) => {
        bundle.generate({format: 'iife'}).then((result) => { //'es' 'cjs' 'amd'
            compileCode('app.js', result.output[0].code, destinationPath);
        });
    });
}
  

Кто-нибудь знает исправление для этого или есть предложения по его решению?

Комментарии:

1. Не выполнять разделение кода, если вам нужен вывод IIFE?

2. @BenjaminGruenbaum Эти проекты большие, и это становится смехотворно беспорядочным, если я не разделяю код на несколько файлов, которых я боюсь.

Ответ №1:

Найдено немного странное решение этой проблемы. Удаление core-js.