Comparativa de minificadores de JavaScript en línea con UglifyJS, Terser y Google Closure Compiler.| Minificación de Javascript en línea | UglifyJS | Terser | Compilador de cierres de Google |
|---|
| Motor de minificación: La página de DigitalOcean se describe a sí misma como una interfaz web interactiva para Terser, por lo que el resultado es lo que produce Terser y no un algoritmo aparte. | Motor de minificación: UglifyJS es un analizador, modificador y compresor de JavaScript. Terser se derivó de su variante ES6+ (uglify-es), y ambos conservan prácticamente la misma API y línea de comandos. | Motor de minificación: Terser es el motor que utiliza la página de DigitalOcean. Al usarlo directamente, expone las opciones compress, mangle, mangle-props, format y parse. | Motor de minificación: Closure Compiler es un compilador independiente basado en Java. Además de acortar el código, comprueba la sintaxis, las referencias y los tipos de variables, y advierte sobre errores comunes en JavaScript. |
| Soporte de idiomas: Terser, el motor que impulsa la página, se describe como un conjunto de herramientas para código ES6+. | Soporte de idiomas: El proyecto indica que es compatible con JavaScript y la mayoría de las características del lenguaje ECMAScript. Para características más específicas, recomienda realizar primero la transpilación con una herramienta como Babel. | Soporte de idiomas: Terser se describe como un conjunto de herramientas para ES6+. Su opción ecma se puede configurar en 2015 o superior para permitir transformaciones de salida ES6+. | Soporte de idiomas: La información de tipo se puede declarar mediante anotaciones en comentarios, que el compilador utiliza en sus comprobaciones. |
| Niveles de optimización: El texto de la página no enumera las configuraciones individuales. | Niveles de optimización: El comportamiento se ajusta mediante las opciones compress y mangle, en la línea de comandos o a través de la API minify(). | Niveles de optimización: El comportamiento se ajusta mediante las opciones compress, mangle, mangle-props y format. | Niveles de optimización: El indicador --compilation_level acepta BUNDLE, WHITESPACE_ONLY, SIMPLE (predeterminado) y ADVANCED. El proyecto indica que el compilador obtiene el máximo rendimiento al recibir todo el código fuente a la vez, lo que habilita ADVANCED, y que los modos distintos de ADVANCED están obsoletos. |
| Instalación y automatización: No requiere instalación: el código se introduce en el navegador. En la página no se describe su uso en un proceso de compilación. | Instalación y automatización: Se instala con npm, globalmente para la línea de comandos o localmente para uso programático, con una versión reciente de Node.js. | Instalación y automatización: Se instala con npm, global o localmente. La API ofrece las funciones async minify() y minify_sync(). | Instalación y automatización: Disponible a través de npm (paquetes mantenidos por un tercero, no por Google), como una versión precompilada de Maven, o compilado desde el código fuente, para lo cual se necesita Java 21 o posterior, Node.js, Git y Bazelisk. |
| Mapas de origen: Los mapas de origen se habilitan con --source-map en la línea de comandos o con la opción sourceMap en minify(), incluyendo la composición con mapas de origen de entrada. | Mapas de origen: Los mapas de origen se habilitan con --source-map o sourceMap. Las opciones incluyen nombre de archivo, URL, raíz, contenido e includeSources, y la API devuelve el mapa en result.map. | |