tailwind npm (jak to działa dla programistów)
Tailwind CSS to popularny framework CSS oparty na podejściu "utility-first", który umożliwia szybkie projektowanie stron HTML. Jest wysoce konfigurowalny i płynnie współpracuje z React, potężną biblioteką JavaScript do tworzenia interfejsów użytkownika. W tym artykule przeprowadzimy Cię przez proces integracji Tailwind CSS z projektem React przy użyciu npm. Ponadto przyjrzymy się bibliotece IronPDF do generowania plików PDF na podstawie adresów URL stron internetowych.
Czym jest Tailwind CSS?
Tailwind CSS to framework CSS oparty na podejściu "utility-first", który pozwala na bardziej wydajne tworzenie aplikacji. Dzięki Tailwind możesz kontrolować układ, kolory, odstępy, typografię, cienie i wiele innych elementów za pomocą klas użytkowych bezpośrednio w kodzie HTML. A co najlepsze? Nie musisz pisać własnego CSS!
Jeśli masz dość zmagań z tradycyjnymi semantycznymi nazwami klas, wypróbuj Tailwind CSS — możesz się zastanawiać, jak kiedykolwiek pracowałeś z CSS w inny sposób!
Poniżej przedstawiono kroki integracji Tailwind CSS z aplikacją React.
Krok 1: Utwórz projekt React
Utwórz aplikację React App za pomocą poniższego polecenia. Narzędzie to tworzy nowy projekt React z rozsądną konfiguracją domyślną.
npx create-react-app my-tailwind-react-app
cd my-tailwind-react-appnpx create-react-app my-tailwind-react-app
cd my-tailwind-react-appKrok 2: Zainstaluj Tailwind CSS
Zainstaluj Tailwind CSS i jego zależności za pomocą npm. Otwórz terminal i uruchom następujące polecenie:
npm install -D tailwindcss postcss autoprefixernpm install -D tailwindcss postcss autoprefixerKrok 3: Zainicjuj Tailwind CSS
Następnie należy zainicjować Tailwind CSS, aby utworzyć domyślne pliki konfiguracyjne. Uruchom następujące polecenie:
npx tailwindcss init -pnpx tailwindcss init -pSpowoduje to utworzenie dwóch nowych plików w projekcie: tailwind.config.js i postcss.config.js.
Krok 4: Skonfiguruj Tailwind CSS
Otwórz plik konfiguracyjny tailwind.config.js i ustaw opcję purge, aby usunąć nieużywane arkusze CSS w środowisku produkcyjnym. Pomaga to utrzymać niewielki rozmiar końcowego pakietu CSS. W tym miejscu można również zdefiniować nazwę klasy trybu ciemnego oraz ścieżkę do modułów niestandardowych.
// tailwind.config.js
module.exports = {
purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
}// tailwind.config.js
module.exports = {
purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
}Krok 5: Utwórz plik Tailwind CSS
Utwórz nowy plik o nazwie src/tailwind.css i dodaj do niego następującą treść:
@tailwind base;
@tailwind components;
@tailwind utilities;Krok 6: Zaimportuj Tailwind CSS do swojego projektu React
Otwórz plik src/index.js i zaimportuj właśnie utworzony plik Tailwind CSS:
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css'; // Existing CSS imports
import App from './App';
import './tailwind.css'; // Tailwind CSS import
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);import React from 'react';
import ReactDOM from 'react-dom';
import './index.css'; // Existing CSS imports
import App from './App';
import './tailwind.css'; // Tailwind CSS import
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);Krok 7: Zacznij korzystać z Tailwind CSS
Teraz możesz zacząć używać klas Tailwind CSS w kodzie swoich komponentów React. Otwórz plik src/App.js i zmodyfikuj go w następujący sposób:
import React from 'react';
function App() {
return (
<div className="text-center min-h-screen flex items-center justify-center">
<header className="bg-blue-500 text-white p-8 rounded">
<h1 className="text-4xl font-bold">Welcome to Tailwind CSS in React</h1>
<p className="mt-4">This is a sample application using Tailwind CSS with React.</p>
</header>
</div>
);
}
export default App;import React from 'react';
function App() {
return (
<div className="text-center min-h-screen flex items-center justify-center">
<header className="bg-blue-500 text-white p-8 rounded">
<h1 className="text-4xl font-bold">Welcome to Tailwind CSS in React</h1>
<p className="mt-4">This is a sample application using Tailwind CSS with React.</p>
</header>
</div>
);
}
export default App;Krok 8: Uruchom swój projekt React
Na koniec uruchom serwer deweloperski, aby zobaczyć Tailwind CSS w akcji:
npm startnpm startTwoja aplikacja powinna teraz działać z zintegrowanym Tailwind CSS. Możesz zacząć korzystać z klas użytkowych Tailwind, aby w prosty sposób stylizować swoje komponenty React.
Wprowadzenie do IronPDF
IronPDF to popularna biblioteka służąca do generowania, edycji i konwersji dokumentów PDF w różnych środowiskach programistycznych. Pakiet IronPDF NPM został zaprojektowany specjalnie dla aplikacji Node.js.
Oto kilka kluczowych funkcji i szczegółów dotyczących pakietu IronPDF NPM:
Najważniejsze cechy
Konwersja HTML do PDF
Z łatwością konwertuj treści HTML na dokumenty PDF. Ta funkcja jest szczególnie przydatna do generowania dynamicznych plików PDF na podstawie treści internetowych.
Konwersja adresów URL do formatu PDF
Generuj pliki PDF bezpośrednio z adresów URL, co pozwala na przechwytywanie treści stron internetowych i zapisywanie ich jako pliki PDF za pomocą kodu.
Manipulacja plikami PDF
Z łatwością scalaj, dziel i edytuj istniejące dokumenty PDF. IronPDF oferuje takie funkcje, jak dodawanie stron, dzielenie dokumentów, dostosowywanie plików PDF i wiele innych.
Zabezpieczenia plików PDF
Zabezpiecz swoje dokumenty PDF, szyfrując je hasłami lub stosując podpisy cyfrowe. IronPDF oferuje opcje ochrony poufnych dokumentów przed nieuprawnionym dostępem.
Wysoka jakość tłumaczenia
Tworzenie wysokiej jakości dokumentów PDF z precyzyjnym renderowaniem tekstu, obrazów i formatowania. IronPDF gwarantuje, że wygenerowane pliki PDF zachowują wierność oryginalnej treści.
Kompatybilność międzyplatformowa
IronPDF jest kompatybilny z różnymi platformami, w tym Windows, Linux i macOS, dzięki czemu nadaje się do szerokiego zakresu środowisk programistycznych.
Prosta integracja
Z łatwością zintegruj IronPDF ze swoimi aplikacjami Node.js, korzystając z pakietu npm. API jest dobrze udokumentowane, co ułatwia włączenie funkcji generowania plików PDF do projektów.
Instalacja
Aby zainstalować pakiet IronPDF NPM, użyj następującego polecenia:
npm i @ironsoftware/ironpdf
Wygeneruj dokument PDF za pomocą IronPDF i użyj pakietu Tailwind NPM
Skonfiguruj projekt Next.js
Zainstaluj zależności: Najpierw utwórz nowy projekt Next.js (jeśli jeszcze tego nie zrobiłeś) za pomocą poniższego polecenia. Proszę zapoznać się ze stroną konfiguracji.
npx create-next-app@latest tailwind-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"npx create-next-app@latest tailwind-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"Następnie przejdź do katalogu projektu:
cd tailwind-pdfcd tailwind-pdfZainstaluj wymagane pakiety:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D tailwindcss postcss autoprefixer
npx tailwindcss init -pyarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D tailwindcss postcss autoprefixer
npx tailwindcss init -pPowyższe instrukcje utworzą plik tailwind.config.js, jak poniżej:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./app/**/*.{js,ts,jsx,tsx,mdx}",
"./pages/**/*.{js,ts,jsx,tsx,mdx}",
"./components/**/*.{js,ts,jsx,tsx,mdx}",
// Or if using `src` directory:
"./src/**/*.{js,ts,jsx,tsx,mdx}",
],
theme: {
extend: {},
},
plugins: [],
}/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./app/**/*.{js,ts,jsx,tsx,mdx}",
"./pages/**/*.{js,ts,jsx,tsx,mdx}",
"./components/**/*.{js,ts,jsx,tsx,mdx}",
// Or if using `src` directory:
"./src/**/*.{js,ts,jsx,tsx,mdx}",
],
theme: {
extend: {},
},
plugins: [],
}Dodaj następujący kod do pliku global.css:
@tailwind base;
@tailwind components;
@tailwind utilities;Otwórz lub utwórz plik _app.js i dołącz plik global.css, jak pokazano poniżej:
// These styles apply to every route in the application
import '@/styles/globals.css'
export default function App({ Component, pageProps }) {
return <Component {...pageProps} />
}// These styles apply to every route in the application
import '@/styles/globals.css'
export default function App({ Component, pageProps }) {
return <Component {...pageProps} />
}Utwórz plik PDF
Teraz stwórzmy prosty przykład generowania pliku PDF przy użyciu IronPDF. W komponencie Next.js (np. pages/index.tsx) dodaj następujący kod:
API do generowania plików PDF: Pierwszym krokiem jest stworzenie backendowego API do generowania dokumentów PDF. Ponieważ IronPDF działa wyłącznie po stronie serwera, musimy utworzyć wywołanie API, gdy użytkownik chce wygenerować plik PDF. Utwórz plik w ścieżce pages/api/pdf.js i dodaj poniższą treść.
IronPDF wymaga klucza licencyjnego, który można uzyskać na stronie licencji i umieścić w poniższym kodzie.
// 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();
}
}Teraz zmodyfikuj kod index.js, aby używać Tailwind CSS:
import Head from 'next/head';
import { useState } from "react";
export default function Home() {
const [textInput, setTextInput] = useState('');
// Function to generate PDF from the given URL
const generatePdf = async () => {
try {
const response = await fetch('/api/pdf?url=' + textInput);
const blob = await response.blob();
const url = window.URL.createObjectURL(new Blob([blob]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'example.pdf');
document.body.appendChild(link);
link.click();
link.parentNode.removeChild(link);
} catch (error) {
console.error('Error generating PDF:', error);
}
};
// Handle change in text input for URL
const handleChange = (event) => {
setTextInput(event.target.value);
}
return (
<div>
<Head>
<title>Demo Tailwind and Generate PDF From IronPDF</title>
<link rel="icon" href="/favicon.ico" />
</Head>
<main className='text-center'>
<h1 className='text-blue-500 text-4xl p-6 mt-12' >
Demo Tailwind and Generate PDF From IronPDF
</h1>
<p className='w-full text-center'>
<span className='px-4 text-xl border-gray-500'>
Enter URL To Convert to PDF:
</span>{" "}
</p>
<input
type="text"
className="border p-2 m-4"
value={textInput}
onChange={handleChange}
placeholder="Enter URL here"
/>
<button
className='rounded-sm bg-blue-800 p-2 m-12 text-xl text-white'
onClick={generatePdf}
>
Generate PDF
</button>
</main>
</div>
);
}import Head from 'next/head';
import { useState } from "react";
export default function Home() {
const [textInput, setTextInput] = useState('');
// Function to generate PDF from the given URL
const generatePdf = async () => {
try {
const response = await fetch('/api/pdf?url=' + textInput);
const blob = await response.blob();
const url = window.URL.createObjectURL(new Blob([blob]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'example.pdf');
document.body.appendChild(link);
link.click();
link.parentNode.removeChild(link);
} catch (error) {
console.error('Error generating PDF:', error);
}
};
// Handle change in text input for URL
const handleChange = (event) => {
setTextInput(event.target.value);
}
return (
<div>
<Head>
<title>Demo Tailwind and Generate PDF From IronPDF</title>
<link rel="icon" href="/favicon.ico" />
</Head>
<main className='text-center'>
<h1 className='text-blue-500 text-4xl p-6 mt-12' >
Demo Tailwind and Generate PDF From IronPDF
</h1>
<p className='w-full text-center'>
<span className='px-4 text-xl border-gray-500'>
Enter URL To Convert to PDF:
</span>{" "}
</p>
<input
type="text"
className="border p-2 m-4"
value={textInput}
onChange={handleChange}
placeholder="Enter URL here"
/>
<button
className='rounded-sm bg-blue-800 p-2 m-12 text-xl text-white'
onClick={generatePdf}
>
Generate PDF
</button>
</main>
</div>
);
}Teraz uruchom aplikację za pomocą polecenia:
yarn devyarn devWYNIK dla Tailwind CSS i IronPDF

Kliknij przycisk "Generuj PDF", aby wygenerować plik PDF z podanego adresu URL.

Licencja IronPDF
Strona IronPDF.
Umieść tutaj klucz licencyjny:
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";Wnioski
Włączenie Tailwind CSS do projektu React za pomocą npm jest proste. Postępując zgodnie z tymi krokami, można szybko skonfigurować Tailwind CSS i zacząć korzystać z jego klas typu "utility-first" do tworzenia responsywnych i konfigurowalnych interfejsów użytkownika. Elastyczność i rozbudowane opcje dostosowywania Tailwind CSS sprawiają, że jest to doskonały wybór dla programistów React, którzy chcą usprawnić proces stylizacji. IronPDF to wszechstronny pakiet do generowania plików PDF, który pomaga programistom w łatwej integracji z aplikacjami Enterprise. Opanowanie obu tych technologii umożliwia programistom tworzenie nowoczesnych, bogatych w funkcje aplikacji.
Aby uzyskać więcej informacji na temat rozpoczęcia pracy z IronPDF oraz zapoznać się z przykładami kodu pokazującymi różne sposoby włączenia go do projektu, odwiedź stronę z przykładami kodu i dokumentacją. IronPDF oferuje wsparcie techniczne i opcje aktualizacji dla wszystkich posiadaczy licencji wieczystych. W okresie próbnym oferowane jest również wsparcie techniczne dostępne 24 godziny na dobę, 5 dni w tygodniu.
Należy pamiętać, że do uzyskania bezpłatnej licencji probnej nie są wymagane dane karty kredytowej ani zakładanie konta, a jedynie prawidłowy adres e-mail.








