Altbilgi içeriğine atla
NODE YARDıM

tailwind npm (Geliştiriciler İçin Nasıl Çalışır)

Tailwind CSS, HTML sayfalarını hızlı bir şekilde tasarlamayı sağlayan popüler bir yardımcı ilk CSS çerçevesidir. Son derece özelleştirilebilir ve kullanıcı arayüzleri oluşturmak için güçlü bir JavaScript kütüphanesi olan React ile sorunsuz çalışır. Bu makalede, Tailwind CSS ile bir React projesine npm kullanarak entegrasyon sürecinin rehberliğini yapacağız. Ayrıca web site URL'lerinden PDF oluşturmak için IronPDF PDF oluşturma kütüphanesini inceleyeceğiz.

Tailwind CSS Nedir?

Tailwind CSS, uygulamaları daha verimli bir şekilde oluşturmanıza izin veren bir yardımcı ilk CSS çerçevesidir. Tailwind ile, doğrudan HTML'nizde yardımcı sınıflar kullanarak düzen, renk, boşluk, tipografi, gölgeler ve daha fazlasını kontrol edebilirsiniz. En iyi kısım? Özel CSS yazmanıza gerek kalmayacak!

Geleneksel semantik sınıf adlarıyla boğuşmaktan bıktıysanız, Tailwind CSS'yi deneyin — CSS ile eskisi gibi nasıl çalıştığınıza şaşırabilirsiniz!

Aşağıda, Tailwind CSS'in bir React uygulamasına entegrasyon adımları bulunmaktadır.

Adım 1: Bir React Projesi Oluşturun

Aşağıdaki komutu kullanarak Create React App oluşturun. Bu araç, makul bir varsayılan yapılandırma ile yeni bir React projesi kurar.

npx create-react-app my-tailwind-react-app
cd my-tailwind-react-app
npx create-react-app my-tailwind-react-app
cd my-tailwind-react-app
SHELL

Adım 2: Tailwind CSS Kurulumu

Tailwind CSS'i ve bağımlılıklarını npm kullanarak yükleyin. Terminalinizi acin ve asagidaki komutu calistirin:

npm install -D tailwindcss postcss autoprefixer
npm install -D tailwindcss postcss autoprefixer
SHELL

Adım 3: Tailwind CSS'i Başlatın

Daha sonra, varsayılan yapılandırma dosyalarını oluşturmak için Tailwind CSS'i başlatmanız gerekir. Aşağıdaki komutu çalıştırın:

npx tailwindcss init -p
npx tailwindcss init -p
SHELL

Bu, projenizde iki yeni dosya oluşturacaktır: tailwind.config.js ve postcss.config.js.

Adım 4: Tailwind CSS'i Yapılandırın

tailwind.config.js yapılandırma dosyasını açın ve üretimde kullanılmayan CSS'yi kaldırmak için temizleme seçeneğini ayarlayın. Bu, son CSS paketinizi küçük tutmanıza yardımcı olur. Burada karanlık mod sınıf adını ve özel modüllerin yolunu da tanımlayabilirsiniz.

// 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: [],
}
JAVASCRIPT

Adım 5: Bir Tailwind CSS Dosyası Oluşturun

Yeni bir dosya oluşturun ve adini src/tailwind.css koyun, ardından aşağıdaki içeriği ekleyin:

@tailwind base;
@tailwind components;
@tailwind utilities;

Adım 6: React Projenizde Tailwind CSS Yükleyin

src/index.js dosyasını açın ve az önce oluşturduğunuz Tailwind CSS dosyasını içe aktarın:

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')
);
JAVASCRIPT

Adım 7: Tailwind CSS'i Kullanmaya Başlayın

Artık Tailwind CSS sınıflarını React bileşenlerinizin kodunda kullanmaya başlayabilirsiniz. src/App.js dosyasını açın ve aşağıdaki gibi değiştirin:

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;
JAVASCRIPT

Adım 8: React Projenizi Çalıştırın

Son olarak, Tailwind CSS'i çalışırken görmek için geliştirme sunucunuzu başlatın:

npm start
npm start
SHELL

Uygulamanız artık Tailwind CSS ile entegre bir şekilde çalışıyor olmalı. React bileşenlerinizi kolayca stillendirmek için Tailwind'in yardımcı sınıflarını kullanmaya başlayabilirsiniz.

IronPDF'ye Giriş

IronPDF, çeşitli programlama ortamlarında PDF belgeleri oluşturmak, düzenlemek ve dönüştürmek için kullanılan popüler bir kütüphanedir. IronPDF NPM paketi, özellikle Node.js uygulamaları için tasarlanmıştır.

IronPDF NPM paketi hakkında bazı temel özellikler ve detaylar şunlardır:

Ana Özellikler

HTML'den PDF'ye Dönüşüm

HTML içeriğini PDF belgelerine dönüştürün zahmetsizce. Bu özellik, web içeriğinden dinamik PDF'ler üretmek için özellikle kullanışlıdır.

URL'den PDF'ye Dönüşüm

Web sayfalarının içeriğini yakalayarak onları programatik olarak PDF dosyaları olarak kaydetmenizi sağlayan URL'lerden doğrudan PDF üretin.

PDF Manipülasyonu

Birleştirin, bölün ve mevcut PDF belgelerini kolaylıkla yönetin. IronPDF, sayfa ekleme, belgeleri bölme, PDF'leri özelleştirme ve daha fazlası gibi işlevsellikler sunar.

PDF Güvenliği

PDF belgelerinizi parolalarla şifreleyerek veya dijital imzalar uygulayarak güvence altına alın. IronPDF, hassas belgelerinizi yetkisiz erişimden korumak için seçenekler sunar.

Yüksek Kaliteli Çıktı

Metin, resim ve biçimlendirmelerin hassas bir şekilde oluşturulmasıyla yüksek kaliteli PDF belgeleri üretin. IronPDF, oluşturulan PDF'lerin orijinal içeriği korumasını sağlar.

Çapraz Platform Uyumluluğu

IronPDF, Windows, Linux ve macOS dahil olmak üzere çeşitli platformlarla uyumludur, bu da onu geniş bir geliştirme ortamı yelpazesi için uygun hale getirir.

Basit Entegrasyon

IronPDF'i npm paketi ile Node.js uygulamalarınıza kolayca entegre edin. API iyi belgelenmiştir, bu da projelerinize PDF oluşturma yeteneklerini eklemeyi kolaylaştırır.

Kurulum

IronPDF NPM paketini kurmak için aşağıdaki komutu kullanın:

 npm i @ironsoftware/ironpdf

IronPDF Kullanan PDF Belgeleri Üretin ve Tailwind NPM Paketini Kullanın

Next.js projesi kurun

Bağımlılıkları Yükleyin: İlk olarak, aşağıdaki komutla yeni bir Next.js projesi oluşturun (eğer henüz yapmadıysanız). Lütfen kurulum sayfasına bakın.

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"
SHELL

Sonra, proje dizininize gidin:

cd tailwind-pdf
cd tailwind-pdf
SHELL

Gerekli paketleri yükleyin:

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
SHELL

Yukarıdaki ifadeler aşağıda gösterildiği gibi bir tailwind.config.js dosyası oluşturacaktır:

/** @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: [],
}
JAVASCRIPT

Aşağıdaki kodu global.css dosyasına ekleyin:

@tailwind base;
@tailwind components;
@tailwind utilities;

_app.js dosyasını açın veya oluşturun ve aşağıda gösterildiği gibi global.css dosyasını dahil edin:

// 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} />
}
JAVASCRIPT

Bir PDF Oluşturun

Şimdi, IronPDF kullanarak PDF oluşturmanın basit bir örneğini oluşturalım. Next.js bileşeninizde (örneğin, pages/index.tsx), aşağıdaki kodu ekleyin:

PDF Oluşturma API'si: İlk adım, PDF belgesini oluşturacak bir arka uç API'si yaratmaktır. IronPDF yalnızca sunucu tarafında çalıştığından, bir kullanıcı PDF üretmek istediğinde bir API çağrısı oluşturmamız gerekiyor. pages/api/pdf.js yoluna bir dosya oluşturun ve aşağıdaki içeriği ekleyin.

IronPDF bir lisans anahtarı gerektirir, bu anahtarı lisans sayfasından alabilir ve aşağıdaki koda yerleştirebilirsiniz.

// 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();
    }
}
JAVASCRIPT

Şimdi index.js kodunu Tailwind CSS'i kullanacak şekilde değiştirin:

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>
    );
}
JAVASCRIPT

Şimdi uygulamayı komut kullanarak çalıştırın:

yarn dev
yarn dev
SHELL

Tailwind CSS ve IronPDF için ÇIKTI

tailwind npm (Geliştiriciler için Nasıl Çalışır): Şekil 1 - Tailwind ve IronPDF Next.js uygulaması için çıktı sayfası

Verilen URL'den PDF oluşturmak için "PDF Oluştur" butonuna tıklayın.

tailwind npm (Geliştiriciler için Nasıl Çalışır): Şekil 2 - IronPDF paketi kullanılarak URL'den üretilen çıktı PDF

IronPDF Lisansı

IronPDF sayfası.

Lisans Anahtarını buraya yerleştirin:

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";
JAVASCRIPT

Sonuç

npm ile bir React projesine Tailwind CSS entegrasyonu basittir. Bu adımları izleyerek Tailwind CSS'i hızlıca kurabilir ve duyarlı ve özelleştirilebilir kullanıcı arayüzleri oluşturmak için yardımcı sınıflarını kullanmaya başlayabilirsiniz. Tailwind CSS'in esnekliği ve güçlü özelleştirme seçenekleri, React geliştiricileri için stil süreçlerini hızlandırmak isteyenler için mükemmel bir seçim yapar. IronPDF, geliştiricilerin kurumsal uygulamalara kolayca entegre edebilmesine yardımcı olan çok yönlü bir PDF oluşturma paketidir. Bu iki teknolojiyi ustaca kullanmak, geliştiricilerin modern, zengin özelliklere sahip uygulamalar oluşturabilmelerini sağlar.

Projelerinizde kullanmanın farklı yollarına dair IronPDF ile ilgili başlangıç bilgileri ve örnek kodlar için lütfen kod örnekleri ve dökümantasyonun sayfasını ziyaret edin. IronPDF tüm süresiz lisans sahiplerine destek ve güncelleme seçenekleri sunar. Deneme süresi boyunca 24/5 teknik destek de sağlar.

Bir ücretsiz deneme lisansı için kredi kartı bilgisi veya hesap oluşturma gerekmediğini unutmayın, sadece geçerli bir e-posta adresi yeterlidir.

Darrius Serrant
Tam Yığın Yazılım Mühendisi (WebOps)

Darrius Serrant, Miami Üniversitesi'nden Bilgisayar Bilimleri lisans derecesine sahiptir ve Iron Software'de Tam Yığın WebOps Pazarlama Mühendisi olarak çalışmaktadır. Küçük yaşlardan itibaren kodlamaya ilgi duyan Darrius, bilişimi hem gizemli hem de erişilebilir buldu ve onu yaratıcılık ve problem çö...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara