首页 > 解决方案 > 使用 Rollup 生成 IIFE 输出

问题描述

我正在开发一些 Web 应用程序,并且一直在尝试使用 Rollup 来捆绑我的代码。我做了一个可以为我做捆绑的小程序。但是我遇到了格式化 IIFE 的问题。

我尝试过其他格式,例如“es”和“amd”,但遇到了不同的问题。我读了一下,似乎 IIFE 是最合适的格式。

尝试捆绑时,我在控制台中收到此错误:

UnhandledPromiseRejectionWarning:错误:代码拆分构建不支持 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);
        });
    });
}

有谁知道解决这个问题或有如何解决它的建议?

标签: javascriptbundlerollupjs

解决方案


为这个问题找到了一个奇怪的解决方案。卸载 core-js。


推荐阅读