Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Webpack是否可以轻松公开模块的默认类而不是模块本身?_Javascript_Webpack_Fusioncharts - Fatal编程技术网

Javascript Webpack是否可以轻松公开模块的默认类而不是模块本身?

Javascript Webpack是否可以轻松公开模块的默认类而不是模块本身?,javascript,webpack,fusioncharts,Javascript,Webpack,Fusioncharts,我试图通过Webpack(在本例中为FusionCharts)将模块公开到全局范围,以便可以通过页内脚本直接访问它。我几乎可以得到所有的方法,但我没有能够直接公开FusionCharts类;相反,我得到的是模块本身,其中包含default:class FusionCharts 我的相关网页包配置如下所示: ... module: { rules: [ ..., { test: /core\/index\.js$/, use: ['expose-loader

我试图通过Webpack(在本例中为FusionCharts)将模块公开到全局范围,以便可以通过页内脚本直接访问它。我几乎可以得到所有的方法,但我没有能够直接公开
FusionCharts
类;相反,我得到的是模块本身,其中包含
default:class FusionCharts

我的相关网页包配置如下所示:

...
module: {
    rules: [
        ...,
        { test: /core\/index\.js$/, use: ['expose-loader?FusionCharts'] }
    ]
},
plugins: [
    new webpack.ProvidePlugin({
        ...,
        FusionCharts: ['fusioncharts/core', 'default']
    })
],
...
然后我有一个
charts.js
文件,在一个简单的例子中,它看起来像:

import Column2D from 'fusioncharts/viz/column2d';
FusionCharts.addDep(Column2D);
Webpack正确构建
charts.js
文件以包含FusionCharts库,页面上的脚本可以看到
FusionCharts
变量,但它是模块而不是类

例如,该页面可能有:

<script src="/assets/charts.js"></script>
...
<script>
    $(function() {
        // would output "FusionCharts: Module"
        console.log(FusionCharts);

        // would output "class FusionCharts" (which is what I am after)
        console.log(FusionCharts.default);
    });
</script>

...
$(函数(){
//将输出“FusionCharts:模块”
控制台日志(FusionCharts);
//将输出“类FusionCharts”(这是我所追求的)
log(FusionCharts.default);
});

可以像这样直接公开类吗?我想,
expose loader
可以像
ProvidePlugin
那样自动取消对默认值的引用,但如果是这样,我找不到它。

要将FusionCharts访问到js文件中,需要导入FusionCharts模块,以便访问所有FusionCharts属性和项目,如需参考,请查看此链接-

此外,请检查此样本以了解详细信息-