2017-01-06 14 views
1

webpackを実行すると、生成されたミニファイルにすべてのコードが含まれていません。私はそれを下に貼り付けます。まず、webpack設定ファイル:Webpackでファイルを縮小できません

var webpack = require('webpack'); 
var PROD = JSON.parse(process.env.PROD_ENV || '0'); 

module.exports = { 
    // define entry point 
    entry: { 
     script1: './plugins/jquery.min.js', 
     script2: './bootstrap/js/bootstrap.min.js', 
     script3: './plugins/modernizr.js', 
     script4: './plugins/rs-plugin/js/jquery.themepunch.tools.min.js', 
     script5: './plugins/rs-plugin/js/jquery.themepunch.revolution.min.js', 
     script6: './plugins/isotope/isotope.pkgd.min.js', 
     script7: './plugins/magnific-popup/jquery.magnific-popup.min.js', 
     script8: './plugins/waypoints/jquery.waypoints.min.js', 
     script9: './plugins/jquery.countTo.min.js', 
     script10: './plugins/jquery.parallax-1.1.3.min.js', 
     script11: './plugins/jquery.validate.min.js', 
     script12: './plugins/morphext/morphext.min.js', 
     script13: './plugins/vide/jquery.vide.min.js', 
     script14: './plugins/owl-carousel/owl.carousel.min.js', 
     script15: './plugins/jquery.browser.min.js', 
     script16: './plugins/SmoothScroll.min.js', 
     script17: './public/js/template.min.js', 
     script18: './plugins/jquery.knob.min.js' 
    }, 
    // define output point 
    output: { 
     path: './dist', 
     filename: PROD ? 'bundle.min.js' : 'bundle.js' 
    }, 
    externals: { 
     'TweenLite': 'TweenLite' 
    }, 
    plugins: PROD ? [ 
     new webpack.optimize.UglifyJsPlugin({ 
      compress: { warnings: false } 
     }) 
    ] : [] 

}; 

出力ファイルは私が期待していたものではありません。ほんの数行のコードです。それは:

リストされたすべてのファイルを縮小し、それらを単一のbundle.min.jsに連結するにはどうすればよいですか?

+1

エントリファイルごとにバンドルが作成されます。あなたの命名規則のおかげで、彼らはお互いをオーバーライドすると思います。 18種類のバンドルファイルが必要ですか?そうでなければ、すべての依存関係を1つのエントリファイルに入れるべきです。詳細はhttps://webpack.github.io/docs/configuration.html#entryをご覧ください。 –

答えて

0

出力ファイルにwebpackされているライブラリ(countTo)が1つしか表示されていません。これは、複数のエントリポイントと1つの出力ファイル名しか持たないためです。

output: { 
    path: './dist', 
    filename: PROD ? '[name].bundle.min.js' : '[name].bundle.js' 
},  
:だから何が起こっていることはWebPACKのは、あなたのエントリポイントを処理し、常に、あなたのような何かにあなたの出力ファイル名を設定する必要があり、この設定を処理するためにbundle.js出力ファイル:)

を上書きしていることです

を参照してください。https://webpack.js.org/configuration/output/#output-filename

ただし、これに従うと、各エントリの縮小ファイルが作成されますが、間違いなく必要なものはありません。

@Felixは、単一のエントリファイルで何か上にある - 、あなたはエントリーポイントとしてリストされたファイルを取り、自分のファイルに入れて、plugins.jsを言う、内容は次のようになります。そして、

import './plugins/jquery.min.js'; 
import './bootstrap/js/bootstrap.min.js'; 
import './plugins/modernizr.js'; 
... 

、それをあなたのエントリを指し示す:

entry: { 
    plugins: './plugins.js', 
} 

webpackを実行した後、あなたはPRODそう./dist/plugins.bundle.js./dist/plugins.bundle.min.jsで終わる必要があります。

ここでは、how I've done itについてさらに読むことができます。これには、jQueryやmodernizrなどのライブラリを適切に処理する方法も含まれています。

関連する問題