Merhaba!
Umarım harika gidiyorsundur! Bu SMY'dir! 👋 Hemen içeri girelim 🚀
Bu, reaksiyon, tarayıcı, düğüm ve eski düğüm için test uygulamaları oluşturmaya odaklanacağımız SDK geliştirme serimizin 3. Bölümüdür.
Setting up tsup for different execution environments
Creating our apps
tsup
Farklı Ortamlar için Ayarlama Projenin kökünde tsup.config.ts
dosyasını oluşturun ve aşağıdaki içeriği yapıştırın:
import { defineConfig } from "tsup"; export default defineConfig({ clean: true, dts: true, entry: ["src/index.ts"], format: ["cjs", "esm", "iife"], minify: true, });
clean
- Her derlemeden önce çıktı dizinini temizleyin.
dts
- TypeScript için tür tanımları.
entry
- giriş noktasını belirtme.
format
- eski sürümler için cjs
, daha yeni düğüm projeleri için esm
ve tarayıcılar için iife
.
minify
- kodumuzu küçültür ve paket boyutunu küçültür.
tsup
otomatik olarak bu dosyayı arayacağından ve her şeyi bizim için halledeceğinden ekstra bir yapılandırmaya gerek yoktur :)
Şimdi build
komutundan çıkın ve yeniden çalıştırın.
npm run build
dist
klasörümüzde aşağıdaki çıktıyı göreceksiniz.
index.cjs
- CJS çıktısı için
index.js
- ESM için
index.global.js
- tarayıcılar için
example-apps/Node
bir index.js
dosyası oluşturun. Aşağıdaki içeriği yapıştırın:
import sdk from "../../dist/index.js"; console.log(await sdk.fetchUsers());
Şimdi dosyayı ayrı bir terminaldeki bir düğümle çalıştırın ve klasöre gidin:
node index.js
Çıkışı terminalde göreceksiniz.
example-apps/Legacy-Node
bir index.cjs
dosyası oluşturun ve aşağıdaki içeriği yapıştırın:
const sdk = require("../../dist/index.cjs"); sdk.default.fetchUsers().then((users) => console.log(users));
Şimdi dosyayı ayrı bir terminaldeki bir düğümle çalıştırın ve klasöre gidin:
node index.cjs
Çıkışı terminalde göreceksiniz.
example-apps/Browser
bir index.html
dosyası oluşturun ve aşağıdaki içeriği yapıştırın:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <script src="../../dist/index.global.js"></script> </head> <body> This is a Test HTML <script> sdk.fetchUsers().then((users) => console.log(users)); </script> </body> </html>
Dosyayı tarayıcıda açın, inceleme öğesinin konsol sekmesinde aşağıdaki yanıtı görmelisiniz:
Yayınlamadan projeler için kitaplık görevi görecek SDK'mıza bir Bağlantı oluşturun.
npm link
example-apps
, örneğin vite ile bir tepki uygulaması oluşturun:
npm create vite@latest
Başarılı bir reaksiyon uygulaması oluşturduktan sonra, SDK'mızı bağlamak için React kök klasöründe aşağıdaki komutu çalıştırın.
npm link ts-lib
ts-lib
yerine package.json dosyasındaki SDK/Kütüphane adınız olmalıdır.
React uygulamasını oluşturduktan sonra App.jsx
gibi bir bileşen dosyası açın ve SDK'yı aşağıdaki gibi entegre edin:
import sdk from "ts-lib"; console.log(await sdk.fetchUsers());
Tam görüntü:
import { useState } from "react"; import reactLogo from "./assets/react.svg"; import viteLogo from "/vite.svg"; import "./App.css"; import sdk from "ts-lib"; console.log(await sdk.fetchUsers()); function App() { const [count, setCount] = useState(0); return ( <> <div> <a href="https://vitejs.dev" target="_blank"> <img src={viteLogo} className="logo" alt="Vite logo" /> </a> <a href="https://react.dev" target="_blank"> <img src={reactLogo} className="logo react" alt="React logo" /> </a> </div> <h1>Vite + React</h1> <div className="card"> <button onClick={() => setCount((count) => count + 1)}> count is {count} </button> <p> Edit <code>src/App.tsx</code> and save to test HMR </p> </div> <p className="read-the-docs"> Click on the Vite and React logos to learn more </p> </> ); } export default App;
Reaksiyon Uygulamasını çalıştırın ve konsola gidin; aşağıdaki gibi görünmelidir:
SDK'mızı farklı ortamlarda oluşturup çalıştırma adımlarını yeni tamamladık.
SDK'mızı yayınlamak için Bölüm 4'e gidin.
.....
Artık kendi SDK'nızı oluşturacak bilgiyle donatıldınız. Mutlu kodlama! 🚀
İşte bu kadar millet! Umarım sizin için iyi bir okuma olmuştur. Teşekkür ederim! ✨
👉 Beni takip et