2017-06-19 30 views
0

我試圖加載slick pluginwebpack版本2.6.1,目前爲止沒有成功。Webpack:無法加載具有全局jQuery的滑動插件

我需要加載爲全局變量和版本2.2.4(因爲我有其他舊插件管理)jQuery的,所以我給自己定ProvidePluginwebpack.config.js文件:

const webpack = require('webpack'); 
const nodeEnv = process.env.NODE_ENV || 'production'; 

module.exports = { 
    devtool: 'source-map', 
    entry: { filename: './src/js/main.js' }, 
    output: { filename: './dist/js/bundle.js' }, 
    module: { 
    loaders: [{ 
     test: /\.js$/, 
     exclude: /node_modules/, 
     loader: 'babel-loader' 
    }] 
    }, 
    plugins: [ 
    new webpack.ProvidePlugin({ 
     jQuery: 'jquery', 
     $: 'jquery', 
     jquery: 'jquery' 
    }), 

    new webpack.DefinePlugin({ 
     'process.env': { NODE_ENV: JSON.stringify(nodeEnv) } 
    }) 
    ] 
}; 

main.js文件如下:

import 'slick-carousel'; 
console.log('jquery version: ', $.fn.jquery); 
console.log($.fn.slick); 

bundle.js文件由產生的WebPack與以下日誌:

Version: webpack 2.6.1 
Time: 1490ms 
        Asset Size Chunks     Chunk Names 
    ./dist/js/bundle.js 616 kB  0 [emitted] [big] filename 
./dist/js/bundle.js.map 794 kB  0 [emitted]   filename 
    [0] ./~/jquery/dist/jquery.js 258 kB {0} [built] 
    [1] ./~/slick-carousel/slick/slick.js 84.3 kB {0} [built] 
    [2] ./src/js/main.js 1.52 kB {0} [built] 
    [3] ./~/slick-carousel/~/jquery/dist/jquery.js 268 kB {0} [built] 

jQuery是加載兩次:第一次在全球環境中,2.2.4版本,第二個是3.2.1版本(版本太新,對我來說,我不想要)作爲依賴,我想。

加載到一個HTML頁面,我得到在瀏覽器開發工具以下日誌:

jquery version: 2.2.4 
undefined 

所以,jQuery是正確加載,但華而不實的不是。

我錯過了什麼?

謝謝

回答

0

問題是我的package.json:我有光滑傳送帶依賴內部財產和的jQuerydevDependencies代替。

移動jquery裏面的依賴關係解決了我的問題。