uglify - webpack js minify
Cómo minificar el código ES6 usando Webpack? (2)
Estoy usando un paquete web y quiero implementar mi sitio. Si minimizo y agrupo mi código JavaScript, tengo este error:
Error de análisis: token inesperado: nombre (
Button
)
Aquí está mi código no incluido:
''use strict'';
export class Button { // <-- Error happens on this line
constructor(translate, rotate, text, textscale = 1) {
this.position = translate;
this.rotation = rotate;
this.text = text;
this.textscale = textscale;
}
}
Tenga en cuenta que en el código incluido se quita la palabra clave export
. En desarrollo, no hay errores lanzados. Aquí puedes encontrar mi archivo de configuración de WebPack:
var webpack = require(''webpack'');
var PROD = true;
module.exports = {
entry: "./js/entry.js",
output: {
path: __dirname,
filename: PROD ? ''bundle.min.js'' : ''bundle.js''
},
module: {
loaders: [
{
test: //.css$/,
loader: "style-loader!css-loader"
}
]
},
plugins: PROD ? [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
output: {
comments: false,
},
})
] : []
};
Si cambio PROD
a falso, no tengo ningún error, de ser cierto, recibo un error de arriba. Mi pregunta es ¿puedo habilitar ES6 en Webpack?
No estoy seguro de si todavía está buscando una respuesta a esto, pero ahora puede incluir la versión beta de uglifyjs-webpack-plugin como un plugin de webpack y usará npmjs.com/package/uglify-es que puede minificar el código ES6.
npm install uglifyjs-webpack-plugin
y luego en su webpack.config.js:
const Uglify = require("uglifyjs-webpack-plugin");
module.exports = {
entry: ...,
output: ...,
plugins: [
new Uglify()
]
};
Tener esta configuración de paquete web predeterminada:
> npm list -g uglifyjs-webpack-plugin
+--
| `-- [email protected]
| `-- [email protected]
`-- [email protected]
`-- [email protected]
lo siguiente funcionó para mí con un objetivo próximo :
npm i -D uglifyjs-webpack-plugin
produciendo el ahora local uglifyjs-webpack-plugin :
> npm list uglifyjs-webpack-plugin
`-- [email protected]
webpack.config.js
const UglifyJSPlugin = require(''uglifyjs-webpack-plugin'')
...
plugins: [
//new webpack.optimize.UglifyJsPlugin() @0.4.6 doesn''t work
new UglifyJSPlugin() // @1.2.2 works with esnext
]
Ver las publicaciones relacionadas del mantenedor: