AYUDA PARA NODOS

Prettier - NPM (Cómo funciona para desarrolladores)

Publicado en 24 de octubre, 2024
Compartir:

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 comoMás bonito las herramientas de formateo de código de TypeScript, con un icono de TypeScript que indica las declaraciones de tipo incorporadas, han surgido como ayudas indispensables en este empeño, automatizando la tarea, a menudo tediosa, de formatear el 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 laIronPDFBiblioteca de generación de PDF para generar PDF a partir de URL 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 coherente: Prettier impone un estilo de codificación coherente en toda su base de código, lo que elimina los debates sobre las preferencias de formato y garantiza la uniformidad en la apariencia del código, lo que ayuda a acelerar el proceso de revisión del código.

  2. Formateo automático: Al integrarse con su editor de código o proceso de compilación, Prettier formatea automáticamente su código, lo que incluye código de envoltura, etc., a medida que escribe o antes de los commits, ahorrando a los desarrolladores tiempo y esfuerzo valiosos. 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 opinático por defecto, ofrece cierto grado de configurabilidad para ajustar ciertas reglas de formato a los requisitos específicos del proyecto. El usuario puede configurar sus propias reglas.

  4. Compatibilidad lingüística: Es compatible con una amplia gama de lenguajes y formatos de programación, lo que garantiza la compatibilidad con diversos entornos de desarrollo. Calidad del código: La mejora de la legibilidad del código permite una mejor comprensión y reduce la probabilidad de que se produzcan errores de sintaxis o fallos causados por un formato incoherente.

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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install prettier --save-dev
VB   C#

o

yarn add --dev prettier // installs latest version
yarn add --dev prettier // installs latest version
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'yarn add --dev prettier ' installs latest version
VB   C#

Utilización

  • Interfaz de línea de comandos(CLI): Prettier proporciona una herramienta CLI para formatear archivos manualmente o integrarlos en scripts para tareas de formateo automatizadas.
  • Integración con editores: Hay plugins disponibles para editores populares como Visual Studio Code, Sublime Text, Atom y otros, que permiten formatear en tiempo real mientras se escribe.
  • Git Hooks: Configure Prettier para que se ejecute antes de los commits utilizando Git Hooks para garantizar que todos los cambios de código se adhieren a 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 IDE: Se integra con IDE y editores de texto para dar formato al código sobre la marcha, mejorando la productividad de los desarrolladores y manteniendo los estándares de codificación.
  • Sistemas de compilación: Se incorpora a los procesos de compilación e integración continua(CI) flujos de trabajo para aplicar un formato de código coherente en todos los proyectos del equipo.
  • Control de versiones: Trabaja en armonía con sistemas de control de versiones como Git, garantizando que el código formateado se mantenga de forma coherente durante toda 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: Adopte inicialmente la configuración predeterminada de Prettier para fomentar la coherencia en toda su base de código sin personalizaciones innecesarias.
  • Versión: Actualizar Prettier con regularidad para aprovechar las nuevas funciones, corregir errores y mejorar la compatibilidad lingüística.
  • Configuración: Ajustar la configuración de Prettier a las convenciones específicas del proyecto o a las preferencias del equipo, manteniendo la coherencia.
  • Educar y adoptar: Anime a los miembros del equipo a adoptar Prettier y enséñeles sus ventajas para fomentar un enfoque unificado del formato del código.

Introducción a IronPDF

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

IronPDF es una conocida biblioteca de generación de PDF que se utiliza 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
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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

Instalar dependencias: Primero, crea un nuevo proyecto Next.js(si aún no lo ha hecho) utilizando el siguiente comando: Consulteaquí.

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"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npx create-@next-app@latest prettier-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
VB   C#

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

cd prettier-pdf
cd prettier-pdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'cd prettier-pdf
VB   C#

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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64 yarn add -D prettier
VB   C#

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')"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'node --eval "fs.writeFileSync('.prettierrc','{}" + vbLf + "')"
VB   C#

Crear un.prettierignore la traducción debe incluir un archivo que permita al CLI y a los editores de Prettier saber qué archivos no formatear. 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
#Ignore artifacts:
#Ignore all HTML files:
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'build coverage **/ *.html
VB   C#

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 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, que puede obtener en la páginapágina de licencia y colócalo 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();
    }
}
// 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();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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>
    );
}
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>
    );
}
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'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/System.Nullable<pdf>url='+text); const blob = await response.blob(); const url = window.URL.createObjectURL(New Blob([blob])); const link = document.createElement("a"c); 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>); }
VB   C#

Formatea el código utilizando yarn prettier.

yarn prettier . --write
yarn prettier . --write
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'yarn prettier. --write
VB   C#

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

Ahora ejecuta la aplicación usando el comando:

yarn dev
yarn dev
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'yarn dev
VB   C#

Salida

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

PDF

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

Licencia IronPDF

El paquete IronPDF npm se ejecuta con la clave de licencia. IronPDF ofrece unprueba gratuita para que los usuarios puedan comprobar sus amplias funciones antes de comprarlo.

Coloque aquí la clave de licencia:

import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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.

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

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

Instalación gratuita de npm Ver licencias >