2015-04-13 16 views
6

Webpack kullanarak üretim javascript'i minifcation ile test ediyorum. Bu unminified düzgün çalıştığı ama -p bayrak eklediğinizde:Webpack minification -p hataları

NODE_ENV=production ./node_modules/webpack/bin/webpack.js -p --progress --colors 

Ben uyarıları almak ve javascript hataları vardır. Yapmaması gereken şeyleri ortadan kaldırdığını görüyor. Neden olduğunu anlayamıyorum.

Uyarılar:

WARNING in client.js from UglifyJs 
Side effects in initialization of unused variable React [./~/fluxible/lib/Fluxible.js:12,0] 
Dropping unused function $$$enumerator$$makeSettledResult [./~/fluxible/~/es6-promise/dist/es6-promise.js:361,0] 
Side effects in initialization of unused variable $$utils$$now [./~/fluxible/~/es6-promise/dist/es6-promise.js:35,0] 
Side effects in initialization of unused variable $$utils$$o_create [./~/fluxible/~/es6-promise/dist/es6-promise.js:38,0] 
Dropping unused variable internals [./~/react-router/~/qs/lib/utils.js:6,0] 
Dropping side-effect-free statement [./~/fluxible/addons/provideContext.js:6,0] 
Side effects in initialization of unused variable Action [./~/fluxible/~/dispatchr/lib/Dispatcher.js:7,0] 
Dropping unused variable internals [./~/react-router/~/qs/lib/index.js:9,0] 

İşte benim webpack.config.js

var ExtractTextPlugin = require('extract-text-webpack-plugin'); 
var path = require('path'); 


module.exports = { 
    entry: [ 
    './client.js', 
    ], 

    output: { 
    path: path.join(__dirname, 'assets'), 
    filename: 'client.js', 
    publicPath: '/assets', 
    }, 

    plugins: [ 
    new ExtractTextPlugin('styles.css'), 
    ], 

    module: { 
    loaders: [ 
     { test: /\.(js|jsx)$/, exclude: /node_modules\/(?!react-router)/, loader: 'react-hot!babel-loader?stage=0' }, 
     { 
     test: /\.scss$/, 
     loader: ExtractTextPlugin.extract(
        // activate source maps via loader query 
        'css?sourceMap!' + 
        'sass?sourceMap' 
       ) 
     }, 
     // bootstrap 
     { 
     test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: 'url-loader?limit=10000&mimetype=application/font-eot', 
     }, 
     { 
     test: /\.(woff)(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: 'url-loader?limit=10000&mimetype=application/font-woff', 
     }, 
     { 
     test: /\.(woff2)(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: 'url-loader?limit=10000&mimetype=application/font-woff2', 
     }, 
     { test: /\.js$/, include: /node_modules\/bootstrap/, loader: 'imports?jQuery=jquery' }, 
    ], 
    }, 
}; 

Teşekkür

+0

uyarılar metinler kendini açıklayıcıdır dizinleri maç için mümkün olduğunda aslında include tercih deneyin. Ve hiçbiri senin koduna başvurmuyor, değil mi? – zerkms

+0

Sanırım bunu iyi açıklayamadım ama Uyarılar bir anlam ifade etmiyor. -p bayrağı olmadan web paketi çalıştırmak, herhangi bir hata olmadan bir client.js paketi oluşturur. Örneğin, 'Kullanılmayan değişkenlerin başlatılmasında yan etkiler React' ... Tepki kullanmakta olduğum çekirdek kitaplıklardan biridir. React'un kullanılmadığını nasıl anladığına dair bir fikir yok. – captainill

+0

Bunlar hata değil, bunlar uyarı. Paketiniz derlenmiş ve kullanıma hazır. "React'un kullanılmadığını nasıl anladığına dair bir fikir yok" --- kullanılıyor, her yerde bunun bir referansı yok. – zerkms

cevap

0

Eğer yükleyici ayrıştırma gerçeğine bağlıdır bkz uyarılar var node_module bağımlılıklarınız. Hariç tuttuğunuz sadece maçları ne olduğundan /

yerine modül yükleyiciler için exclude seçeneğini kullanmanın/node_modules/(?! tepki-yönlendirici), sen include ile yüklemek istediğiniz modülleri listeleme sadece beyaz deneyin

exclude

istisnalar hariç tutmak kullanılmalıdır