2015-04-13 13 views
6

Sto testando il mio javascript di produzione con minifcation tramite webpack. Funziona bene unminified ma quando aggiungo la bandiera -p:Minificazione del pacchetto Web -p errori

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

ricevo avvertimenti e ci sono errori JavaScript. Sembra che rimuova cose che non dovrebbe. Non riesco a capire perché.

Avvertenze:

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] 

Ecco il mio 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' }, 
    ], 
    }, 
}; 

Grazie

+0

i testi avvertenze sono auto esplicativo, in realtà. E nessuno di loro si riferisce al tuo codice, vero? – zerkms

+0

Immagino di non averlo spiegato bene ma gli Avvisi non hanno alcun senso. L'esecuzione del webpack senza il flag -p crea un bundle client.js senza errori. Ad esempio, "Effetti collaterali nell'inizializzazione della variabile non utilizzata React" ... React è una delle librerie principali che sto usando. Non ho idea di come pensi che React sia inutilizzato. – captainill

+0

Questi non sono errori, quelli sono avvertimenti. Il tuo pacchetto è compilato e pronto per l'uso. "Non ho idea di come si possa capire che React è inutilizzato" --- è usato, non ovunque ci sia un riferimento ad esso però. – zerkms

risposta

0

Le avvertenze che vedete sono dovuti al fatto che il caricatore è l'analisi le dipendenze node_module. Dal momento che l'unico che avete escluso è tutto ciò che corrisponde /node_modules/(?! reagire-router)/

Invece di utilizzare l'opzione exclude per caricatori modulo, provate solo bianco che elenca i moduli che si desidera caricare con include

exclude dovrebbe essere utilizzato per escludere eccezioni cercare di preferire include quando possibile abbinare le directory

Problemi correlati