React Academy · Pelajaran

Generator Kode & Otomatisasi Workspace

Tulis generator Nx kustom untuk membuat kerangka komponen, halaman, dan pustaka secara konsisten.

Pelajaran 4 dari 413 langkah

Generator Kode & Otomatisasi Workspace adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.

Apa Itu Generator Nx?

Generator Nx adalah alat pembuat kode (seperti skematik) yang membuat kerangka berkas, memperbarui konfigurasi, dan menjaga konsistensi di seluruh monorepo. Jalankan generator bawaan atau tulis generator Anda sendiri.

Menjalankan Generator Bawaan

Gunakan nx generate dengan paket dan nama generator. Tambahkan --dry-run untuk melihat pratinjau perubahan tanpa menulis berkas.

# 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

Membuat Generator Kustom

Buat templat generator kosong di dalam proyek plugin lokal.

# 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

Struktur Generator

Sebuah generator terdiri dari schema.json (masukan) dan index.ts (logika yang memodifikasi berkas dan ruang kerja).

// 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"]
}

Index.ts Generator

Fungsi generator menerima tree (abstraksi sistem berkas) dan opsi. Gunakan API tree untuk membaca, menulis, dan memperbarui berkas.

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
}

Berkas Templat

Letakkan berkas templat di dalam folder files/ di sebelah generator. Gunakan sintaks EJS untuk konten dinamis.

// 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';
}

Memperbarui project.json

Generator dapat memodifikasi berkas yang sudah ada. Gunakan updateProjectConfiguration untuk menambahkan sasaran baru ke sebuah proyek.

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

Menjalankan Generator Anda

Jalankan generator kustom dengan cara yang sama seperti generator bawaan, dengan merujuk ke plugin lokal Anda.

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

Migrasi Ruang Kerja

Nx menyediakan migrasi otomatis saat Anda memperbarui versi Nx. Jalankan nx migrate latest, lalu nx migrate --run-migrations untuk menerapkannya.

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

Mengotomatiskan Kode Kerangka

Buat generator kustom untuk pola khusus tim Anda: modul fitur dengan struktur folder standar, halaman CRUD, pustaka akses data dengan hook kueri yang telah dikonfigurasi sebelumnya, dan sebagainya.

Menguji Generator

Nx menyediakan kerangka pengujian untuk generator. Buat tree minimal dalam pengujian untuk memverifikasi pembuatan berkas tanpa menyentuh sistem berkas sebenarnya.

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

Pemeriksaan Singkat

Apa tujuan folder files/ dalam generator Nx?

Ringkasan

Generator Nx membuat kerangka berkas secara konsisten melalui nx generate. Tulis generator kustom dengan schema.json (masukan) dan index.ts (logika). Gunakan folder files/ untuk templat EJS. Uji generator dengan createTreeWithEmptyWorkspace untuk sistem berkas dalam memori yang aman.

Gratis untuk memulai

Belajar React dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
88
Pelajaran
324

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Generator Kode & Otomatisasi Workspace” gratis?

Ya — teks lengkap “Generator Kode & Otomatisasi Workspace” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Generator Kode & Otomatisasi Workspace”?

Tulis generator Nx kustom untuk membuat kerangka komponen, halaman, dan pustaka secara konsisten. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai React Academy?

Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Generator Kode & Otomatisasi Workspace” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuat Monorepo Nx dengan Aplikasi React
  2. Pustaka Bersama & Paket Internal
  3. Perintah Nx Affected & Penyimpanan Tembolok
  4. Generator Kode & Otomatisasi Workspace
← Kembali ke React Academy