Webpack正确的导入和绑定模块的方式

问题描述:

我正在构建基于Foundation的Wordpress框架并使用Webpack捆绑JS。 Webpack非常新。Webpack正确的导入和绑定模块的方式

当我添加Slick.js到项目中,我使用:

//import JS 

import './lib/slick'; 

//init 

$('.my-class').slick({}); 

可正常工作和我没有得到任何错误。

然而,当我加入sweetalert2.js这样的:

import './lib/sweetalert2'; 

//init 

swal({ 
    title: 'Error!', 
    text: 'Do you want to continue', 
    type: 'error', 
    confirmButtonText: 'Cool' 
}); 

我SwaI位是没有定义的错误。

但是,这工作,我没有得到启动时的错误。

import swal from './lib/sweetalert2'; 

我猜这与暴露功能有关。但是,我试图理解为什么slick.js没有这样做而且sweetalert2没有这样做。

谢谢。

看起来像slick是一个jQuery插件,因此加载库只是将其绑定到全局jQuery实例上,但是sweetalert2是独立的,并且不想仅创建一个全局对象(因为这通常是一个糟糕的想法)。

+0

谢谢。所以,更好的做法是像导入“从./lib/slick'导入浮油”;“这也适用于slick.js。我不能说我很热爱Webpack。在我使用gulp之前,结合我所有的JS和一切工作。 –

+0

我不认为你需要,因为除了通过jQuery,你不需要使用'slick'对象。我是webpack转换,并且永远不会回到吞噬,但那是因为如果我确切地知道哪些位使用哪些依赖关系,而不是假设所有东西都是全局的,那么维护项目就容易得多。 –

+0

谢谢。我会给它时间。尽管这是一条学习曲线! –