2017-08-07 5 views
0

Ich habe folgende webpack Datei:Webpack wirft uglify Fehler

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

module.exports = { 
    context: path.resolve(__dirname, './src'), 
    entry: { 
     app: './app.js' 
    }, 
    output: { 
     filename: '[name].bundle.js', 
     path: path.resolve(__dirname, './dist/assets'), 
     publicPath: '/assets', 

    }, 
    devServer: { 
     contentBase: path.resolve(__dirname, './src') 
    }, 
    module: { 
     rules: [ 
      { 
       test: /\.js$/, 
       exclude: [/node-modules/], 
       use: [ 
        { 
         loader: 'babel-loader', 
         options: { presets: [ 'es2015' ] } 
        } 
       ], 
       test: /\.css$/, 
       use: ExtractTextPlugin.extract({ 
        use: [{ 
         loader: 'css-loader', 
         options: { importLoaders: 1 } 
        }] 
       }), 
       test: /\.(sass|scss)$/, 
       use: [ 
        'style-loader', 
        'css-loader', 
        'sass-loader' 
       ] 
      } 
     ] 
    }, 
    resolve: { 
     modules: [ 
      path.resolve(__dirname, './src'), 
      'node_modules' 
     ] 
    }, 
    plugins: [ 
     new webpack.optimize.CommonsChunkPlugin({ 
      name: 'common' 
     }), 
     new ExtractTextPlugin({ 
      filename: '[name].bundle.css', 
      allChunks: true 
     }) 
    ] 
} 

wenn ich laufe:

node_modules/.bin/webpacl -p (Es geschieht nicht, wenn ich laufen node_modules/.bin/webpack -d)

bekomme ich folgende Fehlermeldung:

eRROR in app.bundle.js von UglifyJs

Unexpected token: name (name) [app.bundle.js:11,4] 

APP.JS

import styles from './css/style.scss'; 

let name = "alessandro"; 
var showName = name => { 
    console.log(name); 
} 

showName(name); 
+0

Könnten Sie weitere Informationen teilen, was haben Sie in Ihrem app.js? –

+0

Siehe aktualisiert. Vielen Dank – Alex

Antwort

0

Ihre Config gebrochen wird: Statt eigene Regeln zu erklären, Sie erklärt nur eine Regel, die mehr test/use/exclude Felder (Überschreiben sie) hat.

Dies führt wahrscheinlich dazu, dass Ihr JS nicht transpiliert wird und folglich Uglify einen Fehler auslöst.

Try this:

module: { 
    rules: [ 
    { 
     test: /\.js$/, 
     exclude: [/node-modules/], 
     use: [ 
     { 
      loader: "babel-loader", 
      options: { presets: ["es2015"] } 
     } 
     ] 
    }, 
    { 
     test: /\.css$/, 
     use: ExtractTextPlugin.extract({ 
     use: [ 
      { 
      loader: "css-loader", 
      options: { importLoaders: 1 } 
      } 
     ] 
     }) 
    }, 
    { 
     test: /\.(sass|scss)$/, 
     use: ["style-loader", "css-loader", "sass-loader"] 
    } 
    ]; 
}