AYUDA PARA NODOS

Prettier - NPM (Cómo funciona para desarrolladores)

En el desarrollo de software moderno, mantener un estilo de codificación limpio y coherente es crucial tanto para la legibilidad y la colaboración como para la facilidad de mantenimiento. Herramientas como Prettier con un ícono de TypeScript que indica declaraciones de tipo integradas, han surgido como ayudas indispensables en esta búsqueda, automatizando la a menudo tediosa tarea de formateo de código. En este artículo, nos adentramos en los entresijos de Prettier, explorando sus características, ventajas, integraciones y mejores prácticas. Además, examinaremos la biblioteca de generación de PDF IronPDF para generar PDFs a partir de URLs de sitios web.

Introducción a Prettier

Prettier es un formateador de código opinable que ajusta automáticamente el estilo y el formato de su código de acuerdo con reglas predefinidas, como la longitud máxima de línea. Es compatible con varios lenguajes de programación, como JavaScript, TypeScript, HTML, CSS y JSON, entre otros, por lo que es versátil en diferentes pilas tecnológicas y tipos de proyectos. Desarrollado originalmente por James Long, Prettier se ha ganado una gran aceptación en la comunidad de desarrolladores por sus sólidas capacidades y facilidad de uso.

Principales características y ventajas

  1. Estilo de Código Consistente: Prettier impone un estilo de codificación consistente en toda su base de código, eliminando debates sobre preferencias de formato y asegurando uniformidad en la apariencia del código, lo que ayuda a acelerar el proceso de revisión del código.

  2. Formato Automático: Al integrarse con tu editor de código o proceso de compilación, Prettier formatea automáticamente tu código, lo que incluye envolver el código, etc., mientras escribes o antes de los commits, ahorrando tiempo y esfuerzo valiosos a los desarrolladores. Puede configurar este formateador de código de opinión para que se ejecute al guardar código. Aplíquese únicamente al mismo directorio que el código fuente.
  3. Configurabilidad: Aunque Prettier es opinado por defecto, ofrece un grado de configurabilidad para ajustar ciertas reglas de formato a fin de adaptarse a los requisitos específicos del proyecto. El usuario puede configurar sus propias reglas.

  4. Soporte de Idiomas: Admite una amplia variedad de lenguajes de programación y formatos desde el principio, asegurando compatibilidad con diversos entornos de desarrollo. Calidad del Código: La mejora en la legibilidad del código conduce a una mejor comprensión y reduce la probabilidad de errores de sintaxis o errores causados por un formato inconsistente.

Introducción a Prettier

Instalación

Para empezar a utilizar Prettier en sus proyectos, puede instalarlo a través de NPM o yarn:

npm install prettier --save-dev
npm install prettier --save-dev
SHELL

o

yarn add --dev prettier // installs latest version
yarn add --dev prettier // installs latest version
SHELL

Utilización

  • Interfaz de Línea de Comandos (CLI): Prettier ofrece una herramienta CLI para formatear archivos manualmente o integrarlos en scripts para tareas de formateo automatizadas.
  • Integración del Editor: Hay complementos disponibles para editores populares como Visual Studio Code, Sublime Text, Atom y otros, lo que permite el formato en tiempo real mientras escribes.
  • Ganchos de Git: Configure Prettier para ejecutarse antes de los commits utilizando Ganchos de Git para asegurar que todos los cambios de código cumplan con las reglas de formato definidas.

Integraciones y ecosistema

Prettier se integra a la perfección con varias herramientas de desarrollo y flujos de trabajo, lo que aumenta su utilidad y adopción entre los desarrolladores:

  • Plugins de IDE: Se integra con los IDEs y editores de texto para formatear el código al instante, mejorando la productividad del desarrollador y manteniendo los estándares de codificación.
  • Sistemas de Construcción: Se incorpora en las canalizaciones de construcción y los flujos de trabajo de Integración Continua (CI) para garantizar un formato de código consistente en los proyectos del equipo.
  • Control de versiones: Funciona de manera armoniosa con sistemas de control de versiones como Git, asegurando que el código formateado se mantenga consistentemente durante la colaboración.

Prácticas recomendadas para Prettier

Para aprovechar al máximo las ventajas de Prettier y garantizar una integración sin problemas en su flujo de trabajo de desarrollo, tenga en cuenta las siguientes prácticas recomendadas:

  • Usar valores predeterminados: Adopta las configuraciones predeterminadas de Prettier inicialmente para fomentar la consistencia en todo tu código sin personalización innecesaria.
  • Versionado: Actualiza regularmente Prettier para aprovechar nuevas funciones, correcciones de errores y soporte mejorado para lenguajes.
  • Configuración: Ajusta la configuración de Prettier para alinearla con las convenciones específicas del proyecto o las preferencias del equipo, manteniendo la coherencia.
  • Educar e incorporar: Anime a los miembros del equipo a adoptar Prettier y edúquelos sobre sus beneficios para fomentar un enfoque unificado en el formato de código.

Introducción a IronPDF

Prettier - NPM (Cómo funciona para desarrolladores): Figura 1 - IronPDF

IronPDF es una popular biblioteca de generación de PDF utilizada para generar, editar y convertir documentos PDF. El paquete NPM IronPDF está diseñado específicamente para aplicaciones Node.js. Estas son algunas de las principales características y detalles del paquete NPM IronPDF:

Características principales

Conversión de HTML a PDF

Convierta contenidos HTML en documentos PDF sin esfuerzo. Esta función es especialmente útil para generar PDF dinámicos a partir de contenidos web.

Conversión de URL a PDF

Genere archivos PDF directamente a partir de URL, lo que le permitirá capturar el contenido de páginas web y guardarlo como archivos PDF mediante programación.

Manipulación de PDF

Fusione, divida y manipule documentos PDF existentes con facilidad. IronPDF ofrece funciones como añadir páginas, dividir documentos, etc.

Seguridad PDF

Proteja sus documentos PDF cifrándolos con contraseñas o aplicando firmas digitales. IronPDF ofrece opciones para proteger sus documentos confidenciales del acceso no autorizado.

Salida de alta calidad

Produzca documentos PDF de alta calidad con una representación precisa del texto, las imágenes y el formato. IronPDF garantiza que los PDF generados mantengan la fidelidad al contenido original.

Compatibilidad multiplataforma

IronPDF es compatible con varias plataformas, como Windows, Linux y macOS, lo que lo hace apto para una amplia gama de entornos de desarrollo.

Integración sencilla

Integre fácilmente IronPDF en sus aplicaciones Node.js utilizando su paquete npm. La API está bien documentada, lo que facilita la incorporación de funciones de generación de PDF a sus proyectos.

Instalación

Para instalar el paquete IronPDF NPM, utilice el siguiente comando:

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
SHELL

Generación de documentos PDF con IronPDF y uso del paquete NPM Prettier

Instalar Dependencias: Primero, crea un nuevo proyecto de Next.js (si aún no lo has hecho) usando el siguiente comando: Consulta aquí.

npx create-next-app@latest prettier-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
npx create-next-app@latest prettier-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
SHELL

A continuación, vaya al directorio de su proyecto:

cd prettier-pdf
cd prettier-pdf
SHELL

Instale los paquetes necesarios:

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D prettier
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D prettier
SHELL

Cree un archivo de configuración vacío para que los editores y otras herramientas sepan que está utilizando Prettier:

node --eval "fs.writeFileSync('.prettierrc','{}\n')"
node --eval "fs.writeFileSync('.prettierrc','{}\n')"
SHELL

Crea un archivo .prettierignore para informar al CLI y a los editores de Prettier qué archivos no deben formatearse. A continuación se muestra un ejemplo:

# Ignore artifacts:
build
coverage
# Ignore all HTML files:
**/*.html
# Ignore artifacts:
build
coverage
# Ignore all HTML files:
**/*.html
SHELL

Crear un PDF

Ahora, vamos a crear un ejemplo sencillo de generación de un PDF utilizando IronPDF.

API de Generación de PDF: El primer paso es crear una API de backend para generar el documento PDF. Dado que IronPDF sólo se ejecuta del lado del servidor, necesitamos crear una API a la que llamar cuando un usuario quiera generar un PDF. Crea un archivo en la ruta pages/api/pdf.js y añade el siguiente contenido.

IronPDF requiere una clave de licencia, puedes obtenerla en la página de licencias y colocarla en el siguiente código.

// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
export default async function handler(req, res) {
    try {
        const url = req.query.url
        const pdf = await PdfDocument.fromUrl(url);
        const data = await pdf.saveAsBuffer();
        console.error('data PDF:', data);
        res.setHeader('Content-Type', 'application/pdf');
        res.setHeader('Content-Disposition', 'attachment; filename=awesomeIron.pdf');
        res.send(data);
    } catch (error) {
        console.error('Error generating PDF:', error);
        res.status(500).end();
    }
}
js
JAVASCRIPT

Ahora modifique el código index.js como se indica a continuación para utilizar Prettier y IronPDF.

import Head from 'next/head';
import styles from '../styles/Home.module.css';
import React, { useState } from 'react';
export default function PrettierDemo() {
    const [text, setText] = useState("");
    const generatePdf = async () => {
        try {
            const response = await fetch('/api/pdf?url='+text);
            const blob = await response.blob();
            const url = window.URL.createObjectURL(new Blob([blob]));
            const link = document.createElement('a');
            link.href = url;
            link.setAttribute('download', 'awesomeIron.pdf');
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
        } catch (error) {
            console.error('Error generating PDF:', error);
        }
    };
    const handleChange = (event) => {
      setText(event.target.value);
    }
    return (
        <div className={styles.container}>
            <Head>
                <title>Generate PDF Using IronPDF</title>
                <link rel="icon" href="/favicon.ico"/>
            </Head>
            <main>
                <h1>Demo Prettier and Generate PDF Using IronPDF</h1>
                <p>
                    <span>Enter Url To Convert to PDF:</span>{" "}
                </p>
                <button style={{margin:20, padding:5}} onClick={generatePdf}>Generate PDF</button>
            </main>          
            <style jsx>{`
                main {
                    padding: 5rem 0;
                    flex: 1;
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    align-items: center;
                }
                footer {
                    width: 100%;
                    height: 100px;
                    border-top: 1px solid #eaeaea;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                }
                footer img {
                    margin-left: 0.5rem;
                }
                footer a {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    text-decoration: none;
                    color: inherit;
                }
                code {
                    background: #fafafa;
                    border-radius: 5px;
                    padding: 0.75rem;
                    font-size: 1.1rem;
                    font-family: Menlo,
                    Monaco,
                    Lucida Console,
                    Liberation Mono,
                    DejaVu Sans Mono,
                    Bitstream Vera Sans Mono,
                    Courier New,
                    monospace;
                }
            `}</style>
            <style jsx global>{`
                html,
                body {
                    padding: 0;
                    margin: 0;
                    font-family: -apple-system,
                    BlinkMacSystemFont,
                    Segoe UI,
                    Roboto,
                    Oxygen,
                    Ubuntu,
                    Cantarell,
                    Fira Sans,
                    Droid Sans,
                    Helvetica Neue,
                    sans-serif;
                }
                * {
                    box-sizing: border-box;
                }
            `}</style>
        </div>
    );
}
js
JAVASCRIPT

Formatea el código utilizando yarn prettier.

yarn prettier . --write
yarn prettier . --write
SHELL

Prettier - NPM (Cómo funciona para desarrolladores): Figura 2 - Ejecutar Prettier

Ahora ejecuta la aplicación usando el comando:

yarn dev
yarn dev
SHELL

Salida

Prettier - NPM (Cómo funciona para desarrolladores): Figura 3 - Prettier con salida de IronPDF

PDF

Prettier - NPM (Cómo funciona para desarrolladores): Figura 4 - Salida PDF

Licencia IronPDF

El paquete npm de IronPDF funciona con la clave de licencia. IronPDF ofrece una clave de licencia de prueba gratuita que permite a los usuarios revisar sus extensas características antes de la compra.

Coloque aquí la clave de licencia:

import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
js
JAVASCRIPT

Conclusión

Prettier es una herramienta fundamental en el desarrollo de software moderno, ya que agiliza el formateo de código con precisión y eficacia. Su capacidad para imponer estilos de codificación coherentes en distintos idiomas e integrarse perfectamente en los flujos de trabajo existentes lo hace indispensable para los equipos que se esfuerzan por conseguir bases de código limpias y fáciles de mantener. Al automatizar las tareas de formateo del código, Prettier permite a los desarrolladores centrarse más en escribir código de calidad y menos en minucias estilísticas o en la revisión del código, mejorando en última instancia la productividad y la colaboración en los proyectos de software. Utilice Prettier para mejorar la calidad del estilo de su código y agilizar su proceso de desarrollo hoy mismo.

IronPDF permite a los desarrolladores de Node.js elevar las capacidades de gestión de PDF dentro de sus aplicaciones, ofreciendo una funcionalidad, fiabilidad y rendimiento sin precedentes. Al aprovechar las funciones avanzadas de IronPDF para la generación, conversión y manipulación de PDF, los desarrolladores pueden agilizar los flujos de trabajo de documentos, mejorar las experiencias de los usuarios y satisfacer diversos requisitos empresariales con confianza. Adopte IronPDF para liberar todo el potencial del manejo de PDF en sus proyectos Node.js y ofrecer soluciones de documentos de calidad profesional sin esfuerzo.

Darrius Serrant
Ingeniero de Software Full Stack (WebOps)

Darrius Serrant tiene una licenciatura en Informática de la Universidad de Miami y trabaja como Ingeniero de Marketing WebOps Full Stack en Iron Software. Atraído por la programación desde una edad temprana, veía la computación como algo misterioso y accesible, lo que la convertía en el medio perfecto para la creatividad y la resolución de problemas.

En Iron Software, Darrius disfruta creando cosas nuevas y simplificando conceptos complejos para hacerlos más comprensibles. Como uno de nuestros desarrolladores residentes, también se ha ofrecido como voluntario para enseñar a los estudiantes, compartiendo su experiencia con la próxima generación.

Para Darrius, su trabajo es gratificante porque es valorado y tiene un impacto real.

< ANTERIOR
oauth2orize NPM (Cómo funciona para desarrolladores)
SIGUIENTE >
rxjs NPM (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2025.5 acaba de salir

Ver licencias >