0Pricing
React Academy · Ders

Kod Üreticileri ve Çalışma Alanı Otomasyonu

Bileşenleri, sayfaları ve kütüphaneleri tutarlı biçimde iskeletlemek için özel Nx üreticileri yazın.

Kod Üreticileri ve Çalışma Alanı Otomasyonu, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

Nx Oluşturucuları Nedir?

Nx oluşturucuları, monorepo genelinde dosyaların iskeletini oluşturan, yapılandırmaları güncelleyen ve tutarlılığı koruyan kod oluşturma araçlarıdır (şemalar gibi). Yerleşik oluşturucuları çalıştırabilir veya kendi oluşturucularınızı yazabilirsiniz.

Yerleşik Oluşturucuları Çalıştırma

Bir oluşturucu paketi ve adıyla birlikte nx generate kullanın. Dosyalara yazmadan önce değişiklikleri önizlemek için --dry-run ekleyin.

# Generate a React component in the ui library:
npx nx generate @nx/react:component Button --project=ui --dry-run

# Generate a hook:
npx nx generate @nx/react:hook useAuth --project=data-access

Özel Oluşturucu Oluşturma

Yerel bir eklenti projesi içinde boş bir oluşturucu şablonu oluşturun.

# Create a local plugin:
npx nx generate @nx/plugin:plugin my-plugin --directory=tools/my-plugin

# Add a generator to it:
npx nx generate @nx/plugin:generator feature-module --project=my-plugin

Oluşturucu Yapısı

Bir oluşturucu, schema.json (girdiler) ve index.ts (dosyaları ve çalışma alanını değiştiren mantık) dosyalarından oluşur.

// tools/my-plugin/src/generators/feature-module/schema.json
{
  "$schema": "...",
  "title": "Feature Module Generator",
  "properties": {
    "name": { "type": "string", "description": "Feature name" },
    "directory": { "type": "string", "default": "libs" }
  },
  "required": ["name"]
}

Oluşturucu Index.ts

Oluşturucu işlevi tree (dosya sistemi soyutlaması) ve seçenekleri alır. Dosyaları okumak, yazmak ve güncellemek için tree API'lerini kullanın.

import { Tree, formatFiles, generateFiles } from '@nx/devkit';
import * as path from 'path';

export default async function (tree: Tree, options: FeatureGeneratorSchema) {
  generateFiles(
    tree,
    path.join(__dirname, 'files'), // template folder
    `libs/${options.name}`,       // output path
    { ...options, tmpl: '' }       // template variables
  );
  await formatFiles(tree); // run prettier on generated files
}

Şablon Dosyaları

Şablon dosyalarını oluşturucunun yanındaki files/ klasörüne yerleştirin. Dinamik içerik için EJS sözdizimini kullanın.

// tools/my-plugin/src/generators/feature-module/files/src/index.ts__tmpl__
export * from './lib/<%= name %>';

// files/src/lib/__name@dasherize__.ts__tmpl__
export function <%= name %>() {
  return '<%= name %> feature';
}

project.json Dosyasını Güncelleme

Oluşturucular mevcut dosyaları değiştirebilir. Bir projeye yeni hedefler eklemek için updateProjectConfiguration kullanın.

import { updateProjectConfiguration, readProjectConfiguration } from '@nx/devkit';

const config = readProjectConfiguration(tree, options.project);
config.targets.storybook = {
  executor: '@storybook/nx:build-storybook',
  options: { outputDir: 'dist/storybook' },
};
updateProjectConfiguration(tree, options.project, config);

Oluşturucunuzu Çalıştırma

Özel oluşturucuları, yerel eklentinize başvurarak yerleşik oluşturucularla aynı şekilde çalıştırın.

npx nx generate my-plugin:feature-module my-feature --dry-run
npx nx generate my-plugin:feature-module my-feature

Çalışma Alanı Geçişleri

Nx sürümünü güncellediğinizde Nx otomatik geçişler sağlar. Bunları uygulamak için önce nx migrate latest, ardından nx migrate --run-migrations komutunu çalıştırın.

npx nx migrate latest
# Review migrations.json
npx nx migrate --run-migrations

Kalıp Kodu Otomatikleştirme

Ekibinize özgü kalıplar için özel oluşturucular geliştirin: standart klasör yapısına sahip özellik modülleri, CRUD sayfaları, önceden yapılandırılmış sorgu kancaları içeren veri erişimi kitaplıkları vb.

Oluşturucuları Sınama

Nx, oluşturucular için bir sınama düzeneği sağlar. Gerçek dosya sistemine dokunmadan dosya oluşturmayı doğrulamak için sınamalarda en küçük boyutlu bir tree oluşturun.

import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing';

test('generates feature module', async () => {
  const tree = createTreeWithEmptyWorkspace();
  await generator(tree, { name: 'products' });
  expect(tree.exists('libs/products/src/index.ts')).toBe(true);
});

Kısa Kontrol

Bir Nx oluşturucusundaki files/ klasörünün amacı nedir?

Özet

Nx oluşturucuları, nx generate aracılığıyla dosyaların iskeletini tutarlı biçimde oluşturur. schema.json (girdiler) ve index.ts (mantık) içeren özel oluşturucular yazın. EJS şablonları için files/ klasörünü kullanın. Güvenli, bellek içi bir dosya sistemi oluşturmak için createTreeWithEmptyWorkspace ile oluşturucuları sınayın.

Sıkça Sorulan Sorular

“Kod Üreticileri ve Çalışma Alanı Otomasyonu” dersi ücretsiz mi?

Evet — “Kod Üreticileri ve Çalışma Alanı Otomasyonu” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“Kod Üreticileri ve Çalışma Alanı Otomasyonu” dersinde ne öğreneceğim?

Bileşenleri, sayfaları ve kütüphaneleri tutarlı biçimde iskeletlemek için özel Nx üreticileri yazın. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Kod Üreticileri ve Çalışma Alanı Otomasyonu” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. React Uygulamalarıyla Nx Monorepo Oluşturma
  2. Paylaşılan Kütüphaneler ve Dahili Paketler
  3. Nx Affected Komutları ve Önbelleğe Alma
  4. Kod Üreticileri ve Çalışma Alanı Otomasyonu
← React Academy Sayfasına Dön