2015-11-06 23 views
2

我使用的是Browserify 11.2和Browserify Shim 3.8,我試圖利用從CDN加載的jQuery來使用滑動輪播(​​包括通過npm)。我意識到這需要使用Browserify墊片,但我無法使其工作。麻煩,包括使用Browserify/Browserify的全局jQuery的滑動輪播

這裏是我的package.json文件的相關部分。

"devDependencies": { 
     ... 
     "browserify": "^11.2.0", 
     "browserify-shim": "^3.8.10", 
     ... 
     "slick-carousel": "^1.5.8", 
     ... 
    }, 
    "browserify": { 
     "transform": [ 
     "browserify-shim" 
     ] 
    }, 
    "browser": { 
    }, 
    "browserify-shim": { 
     "jquery": "global:jQuery", 
     "slick-carousel": { 
     } 
    }, 
    "dependencies": { 
    } 

當試圖要求光滑,旋轉木馬,我得到的錯誤:

Cannot find module 'jquery' from 'path_to_node_modules/node_modules/slick-carousel/slick'

但是,如果我輸出要求( 'jQuery的'),以恆定的(例如)

const jq = require('jquery'),jquery就像我所期望的那樣。

現在我的腳本只包含測試以下內容:

require('jquery'); 
require('slick-carousel'); 

我一直有一個艱難的時間,包裹我的頭周圍Browserify墊片 - 任何指導我在做什麼錯誤的認識。

回答

1

你需要指定光滑傳送帶取決於jQuery的你package.json

"browserify": { 
    "transform": [ 
    "browserify-shim" 
    ] 
}, 
"browserify-shim": { 
    "jquery": "global:jQuery", 
    "slick-carousel": { 
    "depends": [ 
     "jquery: jQuery" 
    ] 
    } 
},