2017-03-01 8 views
2

すべてのjsファイルを1つにマージするには? webpack 1.で縮小して*?ここですべてのjsファイルを1つのバンドルwebpackにマージする方法

はWebPACKのコンフィグビルド後

entry: { 
    bundle: "./src/index.tsx", 
    styles: './static/scss/main.scss', 

    main : [ 
     './static/js/jquery.js', 
     './static/js/bowser.js', 
     './static/js/bootstrap.js', 
     './static/js/jquery.resizeend.js', 
     './static/js/slick.js', 
     './static/js/jquery.waypoints.js', 
     './static/js/jquery.backgroundpos.js', 
     './static/js/jquery.fancybox.js', 
     './static/js/select2.full.js', 
     './static/js/jquery.mousewheel.js', 
     './static/js/clipboard.js', 
     './static/js/circle-progress.js', 
     './static/js/common.js', 
     './static/js/main.js' 
    ] 
}, 
output: { 
    filename: "[name].js", 
    path: "../root/js/react", 
    library: '[name]' 
}, 

の私の一部であるすべてのファイルが縮小され、JSしかし、私はこれらの依存関係に問題がある:

ブートストラップはjqueryの

Uncaught Error: Bootstrap's JavaScript requires jQuery 
    at Object.1213 (main.js:3) 
    at t (main.js:1) 
    at Object.0 (main.js:1) 
    at t (main.js:1) 
    at main.0 (main.js:1) 
    at main.js:1 

を見つけることができません注:Jqueryはブートストラップの前に来るので、OKにしてください。

答えて

4

それはWebPACKのはまだモジュールとしてそれらを保持しているため、ケースはありませんが、ブートストラップは、jQueryのは世界的に存在することを想定してい

ません[OK]をする必要がありますので、jQueryのブートストラップ前に来ます。 ProvidePluginを使用してこれを修正することができます。したがって、webpackは、jQueryが使用されると自動的にjQueryをインポートします。あなたのWebPACKの設定であなたのpluginsセクションに追加します:

plugins: [ 
    new webpack.ProvidePlugin({ 
    $: 'jquery', 
    jQuery: 'jquery' 
    }) 
] 

注:私はWebPACKの2のためのドキュメントをリンクされますが、これはWebPACKの1ため、まったく同じ機能します。

関連する問題