2017-03-01 111 views
2

如何將所有js文件合併爲一個?通過在webpack 1. *中進行縮小如何將所有js文件合併爲一個包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在引導之前出現,所以它應該是好的

回答

4

jQuery的引導來之前,所以應該是確定

沒有事實並非如此,因爲的WebPack仍保持它們作爲模塊,但引導預期的jQuery是目前全球範圍內。你可以通過使用ProvidePlugin來解決這個問題,所以webpack在看到它被使用時會自動導入jQuery。將它添加到您的plugins節中您的WebPack配置:

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

注:我掛了的WebPack 2的文檔,但是這個作品完全一樣的的WebPack 1

相關問題