Aquí está mi webpack.config.js
var webpack = require("webpack");
module.exports = {
entry: "./entry.js",
devtool: "source-map",
output: {
path: "./dist",
filename: "bundle.min.js"
},
plugins: [
new webpack.optimize.UglifyJsPlugin({minimize: true})
]
};
Estoy construyendo con
$ webpack
En mi distcarpeta, solo recibo
bundle.min.jsbundle.min.js.map
También me gustaría ver el descomprimido bundle.js
javascript
node.js
webpack
Gracias
fuente
fuente

Error: webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead.Puede usar un solo archivo de configuración e incluir el complemento UglifyJS condicionalmente usando una variable de entorno:
y luego simplemente configura esta variable cuando quieras minificarla:
Editar:
Como se menciona en los comentarios,
NODE_ENVgeneralmente se usa (por convención) para indicar si un entorno particular es un entorno de producción o de desarrollo. Para verificarlo, también puede configurarvar PROD = (process.env.NODE_ENV === 'production')y continuar normalmente.fuente
compresslugar deminimize?webpack -pla configuración de webpack.optimize.UglifyJsPlugin en su configuración de webpack se ignorará (al menos parcialmente) (al menosmangle: falsese ignora la configuración ).webpack && webpack -p.definePluginlugar, que creo que está instalado de forma predeterminada con Webpack.Puede ejecutar webpack dos veces con diferentes argumentos:
luego verifique los argumentos de la línea de comando en
webpack.config.js:ejemplo webpack.config.js
fuente
Para agregar otra respuesta, la bandera
-p(abreviatura de--optimize-minimize) habilitará el UglifyJS con argumentos predeterminados.No obtendrá un paquete minificado y sin procesar de una sola ejecución ni generará paquetes con nombres diferentes, por lo que la
-pbandera puede no cumplir con su caso de uso.Por el contrario, la
-dopción es la abreviatura de--debug--devtool sourcemap--output-pathinfoMis webpack.config.js omite
devtool,debug,pathinfo, y el plugin de minmize a favor de estas dos banderas.fuente
Tal vez llego tarde aquí, pero tengo el mismo problema, así que escribí un plugin de paquete web nominificado para este propósito.
Instalación
Uso
Al hacer lo anterior, obtendrá dos archivos library.min.js y library.js. No es necesario ejecutar webpack dos veces, ¡simplemente funciona! ^^
fuente
En mi opinión, es mucho más fácil usar la herramienta UglifyJS directamente:
npm install --save-dev uglify-js./dst/bundle.jsarchivo.Agregue un
buildcomando a supackage.json:npm run buildcomando.No es necesario instalar uglify-js globalmente, solo instálelo localmente para el proyecto.
fuente
Puede crear dos configuraciones para webpack, una que minimice el código y otra que no (simplemente elimine la línea optimizar.UglifyJSPlugin) y luego ejecute ambas configuraciones al mismo tiempo
$ webpack && webpack --config webpack.config.min.jsfuente
De acuerdo con esta línea: https://github.com/pingyuanChen/webpack-uglify-js-plugin/blob/master/index.js#L117
debería ser algo como:
De hecho, puede tener múltiples compilaciones exportando diferentes configuraciones de acuerdo con sus estrategias env / argv.
fuente
minimizeen documentos. Tal vez está en desuso?funciona para mí, con
-pbandera.fuente
Puede formatear su webpack.config.js de esta manera:
Y luego, para construirlo, ejecute sin minificar (mientras está en el directorio principal del proyecto):
Para construirlo, ejecuta minified:
Notas: Asegúrese de que para la versión no minificada cambie el nombre del archivo de salida a
library.jsy para el minificadolibrary.min.jspara que no se sobrescriban entre sí.fuente
Tuve el mismo problema y tuve que cumplir con todos estos requisitos:
Finalmente lo resolví de la siguiente manera:
webpack.config.js:
package.json:
Entonces puedo construir por (No olvides
npm installantes):fuente
Encontré una nueva solución para este problema.
Esto usa una matriz de configuración para permitir que webpack construya la versión minificada y no minificada en paralelo. Esto hace que la construcción sea más rápida. No es necesario ejecutar el paquete web dos veces. No necesita complementos adicionales. Solo webpack.
webpack.config.js
La ejecución
webpacksolo generará la versión no minificada.La ejecución
webpack --env=productiongenerará la versión minificada y no minificada al mismo tiempo.fuente
Debería exportar una matriz como esta:
fuente
Puede definir dos puntos de entrada en la configuración de su paquete web, uno para sus js normales y el otro para js minificados. Luego, debe generar su paquete con su nombre y configurar el complemento UglifyJS para incluir archivos min.js. Vea el ejemplo de configuración de paquete web para más detalles:
Después de ejecutar webpack, obtendrá bundle.js y bundle.min.js en su carpeta dist, sin necesidad de un complemento adicional.
fuente