2017-09-22 33 views
0

我正在構建基於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沒有這樣做。

謝謝。

回答

2

看起來像slick是一個jQuery插件,因此加載庫只是將其綁定到全局jQuery實例上,但是sweetalert2是獨立的,並且不想僅創建一個全局對象(因爲這通常是一個糟糕的想法)。

+0

謝謝。所以,更好的做法是像導入「從./lib/slick'導入浮油」;「這也適用於slick.js。我不能說我很熱愛Webpack。在我使用gulp之前,結合我所有的JS和一切工作。 –

+0

我不認爲你需要,因爲除了通過jQuery,你不需要使用'slick'對象。我是webpack轉換,並且永遠不會回到吞噬,但那是因爲如果我確切地知道哪些位使用哪些依賴關係,而不是假設所有東西都是全局的,那麼維護項目就容易得多。 –

+0

謝謝。我會給它時間。儘管這是一條學習曲線! –