2017-06-19 7 views
0

slick pluginwebpackバージョン2.6.1でロードしようとしていますが、今まで成功していません。Webpack:グローバルなjQueryを持つ滑らかなプラグインをロードできません。

私は(私が管理する他の古いプラグインを持っているので)jqueryのは、グローバル変数およびバージョン2.2.4としてロードされている必要があり、私は私のwebpack.config.jsファイルにProvidePluginを設定しました:

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 2つ目は、そのバージョン3.2.1(私にとってはあまりにも最近のバージョンであり、私は望んでいません)スリックによる依存として含まれて、私は思います。 htmlページにそれをロード

は、私は、ブラウザの開発ツール以下のログを取る:

jquery version: 2.2.4 
undefined 

ので、jqueryのは正しくロードされますが、ツルツルではありません。

私には何が欠けていますか?

はあなたに

答えて

0

ありがとう問題は私のpackage.jsonだった:私は財産とjqueryの内部devDependencies代わり依存関係内スリックカルーセルを持っていました。

移動jquery内の依存関係が私の問題を解決しました。