2017-06-12 3 views
0

J'essaye de construire le dossier webpack.config.js. Ma commande est webpack --config webpack.config.prod.js --progress --colors. Mais mon bâtiment a échoué à cause de ulgifyJsPlugin. Lorsque j'ai supprimé uglifyJsPlugin dans webpack.config.prod.js, la construction est réussie, mais ne fonctionne pas lorsqu'il y a UlgifyJsPlugin. Je veux minimiser mes codes par webpack - comme supprimer les codes console.log et autres codes inutiles. De plus, j'utilise webpack 1.la construction de webpack a échoué en raison de uglifyJsPlguin

const webpack = require('webpack'); 
const path = require('path'); 
const nodeModulesPath = path.resolve(__dirname, 'node_modules'); 
const HtmlWebpackPlugin = require('html-webpack-plugin'); 

const config = { 
    entry: [path.join(__dirname, '/src/index.js')], 
    devtool: 'source-map', 
    output: { 
    path: path.join(__dirname, 'dist'), 
    filename: 'bundle.js', 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     loader: 'babel-loader', 
     exclude: [nodeModulesPath] 
     }, 
     { 
     test: /\.css$/, 
     loaders: ['style', 'css'] 
     } 
    ] 
    }, 
    resolve: { 
    root: [ 
     path.resolve('./src'), 
     path.resolve('./style') 
    ], 
    extensions: ['', '.js', '.jsx', '.css'], 
    packageAlias: 'browser' 
    }, 
    plugins: [ 
    new HtmlWebpackPlugin({ 
     template: './public/index.html' 
    }), 
    new webpack.DefinePlugin({ 
     'process.env':{ 
     'NODE_ENV': JSON.stringify('production') 
     } 
    }), 
    new AppCachePlugin({ 
     exclude: ['.htaccess'] 
    }), 
    new webpack.optimize.UglifyJsPlugin({ 
     compress: { 
     warnings: false, 
     } 
    }) 
    ], 
}; 

module.exports = config; 
+0

Assurez-vous que [UglifyJS] (https://github.com/mishoo/UglifyJS2) est installé ... comme indiqué [ici] (https://webpack.js.org/plugins/uglifyjs-webpack-plugin /), UglifyJS est une dépendance par les pairs pour ce plugin –

Répondre

1

Essayez de modifier votre section plugins pour inclure le plugin comme ceci:

plugins: [ 
     ..., 
     new webpack.optimize.UglifyJsPlugin({ 
      compress: { 
       warnings: false, 
      }, 
      comments: false, 
      sourceMap: false, 
      mangle: true 
     })   
    ] 

Cela fonctionne pour moi.

Etes-vous sûr de faire npm i --save? Assurez-vous que vous avez le plugin dans votre node_modules.