汇总导入外部依赖项会导致未定义的错误

时间:2019-06-10 15:09:20

标签: javascript rollupjs

我已经实现了汇总,我将其用作JavaScript模块捆绑器来构建UI库,以便在应用程序中使用。

在导入特定库时,某些库将引发未定义的错误。 例如,调用import 'enquire.js';将引发:Uncaught ReferenceError: enquire is not defined

大多数插件都可以正常工作,例如bootstrap既不会引起问题,也不会导致许多其他插件出现问题,但是问题出在少数几个库中,我怀疑它归结为一个根本原因,导致我无法解决问题周围。

请注意,我正在使用两个插件:节点解析器和commonjs。这些插件将解析我的node_modules文件夹中的软件包,并将commonjs模块转换为对汇总包使用es6语法

下面是我的具有汇总任务的 grunt配置文件

grunt.initConfig({
    rollup: {
        options: {
            format: 'iife',
            plugins: function () {
                return [
                    babel({
                        exclude: './node_modules/**',
                    }),
                    nodeResolve(),
                    commonJS({
                        include: './node_modules/**'
                    }),
                ];
            },
        },
        website: {
            dest: 'build/main-min.js',
            src: 'src/main.js',
        }
    }
})

下面是我的 main.js输入文件

import './global/jquery.js';
import 'bootstrap';
import 'enquire.js';

// other external dependencies

下面是我如何使用enquire.js:

enquire.register("screen and (max-width:45em)", {
    match : function() {},

    unmatch : function() {},

    setup : function() {},

    deferSetup : true,

    destroy : function() {}
});

以下是控制台错误

Uncaught ReferenceError: enquire is not defined

0 个答案:

没有答案