为什么Webpack在这行代码中添加了括号?

时间:2017-11-07 09:54:08

标签: javascript wordpress webpack

我正在使用Webpack连接和uglify几个不同的模块,所有这些模块都导入到我的main.js文件中。

其中一个模块包含以下代码行:

jQuery(document).ready(function(){
    new Favorites.Factory;
});

但是在Webpack生成的main.js文件中,这些代码行变为:

jQuery(document).ready(function(){
    new Favorites.Factory(); // Note the extra brackets
});

请注意Factory之后添加的括号。这会产生以下错误:

Uncaught TypeError: Favorites.Factory is not a constructor

为什么Webpack会添加这些括号,如何防止它?

您可以查看完整模块here(这是一个Wordpress插件)。

1 个答案:

答案 0 :(得分:0)

从技术上讲,我可以很容易地回答你的问题: webpack因为reason

而添加了括号

因此,不是webpack导致此错误。

您的帖子中没有太多信息(例如main.js中发生的事情,您“包含”模块的方式,您的webpack配置等等),但我尝试运行您的代码并做出一些假设:根据您的具体情况,error意味着Favorites.Factoryundefined,很可能是因为favorites_data未在模块init上定义。