Tartalomjegyzék

< Angular

Angular kezdés

Webhely

Angular 17 változások:

Telepítés

Szükség van egy telepített Node.js-re npm paranccsal együtt. Ha ez megvan, akkor telepíthetjük az Angular parancssori eszközt.

Rendszergazdaként:

npm install -g @angular/cli@17.0.0

Telepítés után kapunk egy „ng” nevű parancsot. Ellenőrizzük a verziót.

Telepített angular/cli verziója:

ng version
ng v

Windowson

Útvonalba kell tenni:

c:\Users\user\AppData\Romaing\npm

Az útvonalbeállítás Windowson részletesebben:

Ellenőrzés:

ng version

Windowson PowerShellben be kell még állítani:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

Adott verzió telepítése

npm i -g @angular/cli@16.2.11
npm i -g @angular/cli@16

Csomagkezelő beállítása

ng config -g cli.packageManager pnpm

A következő helyen tárolódik:

A következőt kell találnunk:

{
  "cli": {
    "packageManager": "pnpm"
  }
}

Ettől kezdve az ng parancs a pnpm csomagkezelőt használja.

Új projekt

Új projekt készítése:

ng new projekt01

A program két kérdést tesz fel:

Kezdésként csak nyomjunk mindkettőre „Enter” billentyűt.

Ehhez hasonlót kell lássunk:

ng new hello
? Would you like to add Angular routing? (y/N)
? Which stylesheet format would you like to use? (Use arrow keys)
❯ CSS 
  SCSS   [ https://sass-lang.com/documentation/syntax#scss                ] 
  Sass   [ https://sass-lang.com/documentation/syntax#the-indented-syntax ] 
  Less   [ http://lesscss.org
CREATE hello/README.md (1063 bytes)
CREATE hello/.editorconfig (274 bytes)
CREATE hello/.gitignore (604 bytes)
CREATE hello/angular.json (3033 bytes)
CREATE hello/package.json (1067 bytes)
...

Ha a projekt elkészült:

Successfully initialized git.

Ha létrejött a projekt, lépjünk be a projekt könyvtárába:

cd projekt01

Kódszerkesztő

Ha beléptünk a projekt01 könyvtárba indítsunk kódszerkesztőt.

Visual Studio Code esetén:

code .

Futtatás

ng serve --open

Az --open helyett használható a -o is használható.

Az alkalmazás a következő útvonalon lesz elérhető:

Az első indításnál ha PowerShell terminált használunk, szükség lehet a távoli aláírások engedélyezésére:
set-ExecutionPolicy RemoteSigned -Scope CurrentUser 

Ellenőrzés:

Get-ExecutionPolicy -list

Struktúra

A struktúra nem teljes:

app01/
  |-node_modules/
  `-src/
     |-app/
     |  |-app.components.css
     |  |-app.component.html
     |  |-app.component.spec.ts
     |  |-app.components.ts
     |  |-app.config.ts
     |  |-app.routes.ts
     |  `-assets/
     |-index.html
     |-main.ts
     `-style.css

Állományok

app-routes.ts

A projekt routing helye:

src/app/app.routes.ts
import { Routes } from '@angular/router';
 
export const routes: Routes = [];

app.component állományok

Az app.component állományok az alkalmazás fő komponensének állományai. Ebből üres az app.component.css.

A komponens nézet része .html kiterjesztésű fájl. Ennek tartalma látszik alapértelmezett weblapként. Tartalma törölhető és újraírandó.

Ebben a fájlban nem szükséges fej és lábrészt írni a HTML oldal számára, mert az az index.html fájlban van megadva.

src/app/app.component.ts
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterOutlet } from '@angular/router';
 
@Component({
  selector: 'app-root',
  standalone: true,
  imports: [CommonModule, RouterOutlet],
  templateUrl: './app.component.html',
  styleUrl: './app.component.css'
})
export class AppComponent {
  title = 'projekt01';
}

Az src/app/app.component.ts fájl az AppComponent osztálynak ad otthont. Egyetlen adattagja van title. Az állomány elején importáljuk a Component dekorátort, amit az osztály előtt használunk.

A Component dekorátorral mondjuk meg, hogy az AppComponent milyen szelektorral hivatkozható. A templateUrl megmondja, hogy a HTML sablon állomány neve app.component.html, a styleUrls, pedig tömb formájában tartalmazhat több stílusfájlt is.

A src/app/app.component.spec.ts állomány a komponenshez tartozó automatikusan generált teszteket tartalmazza.

src/app/app.component.spec.ts
import { TestBed } from '@angular/core/testing';
import { AppComponent } from './app.component';
 
describe('AppComponent', () => {
  beforeEach(async () => {
    await TestBed.configureTestingModule({
      imports: [AppComponent],
    }).compileComponents();
  });
 
  it('should create the app', () => {
    const fixture = TestBed.createComponent(AppComponent);
    const app = fixture.componentInstance;
    expect(app).toBeTruthy();
  });
 
  it(`should have the 'projekt01' title`, () => {
    const fixture = TestBed.createComponent(AppComponent);
    const app = fixture.componentInstance;
    expect(app.title).toEqual('projekt01');
  });
 
  it('should render title', () => {
    const fixture = TestBed.createComponent(AppComponent);
    fixture.detectChanges();
    const compiled = fixture.nativeElement as HTMLElement;
    expect(compiled.querySelector('h1')?.textContent).toContain('Hello, projekt01');
  });
});

app.config.ts

A 17-s verzióban átnevezték az app.module.ts fájl app.config.ts névre, és a tartalma is változott.

Az src/app/app.config.ts állományban regisztráljuk az angular saját moduljait használat előtt.

src/app/app.config.ts
import { ApplicationConfig } from '@angular/core';
import { provideRouter } from '@angular/router';
 
import { routes } from './app.routes';
 
export const appConfig: ApplicationConfig = {
  providers: [provideRouter(routes)]
};

Alapértelmezetten be van jegyezve a routes modul. Ha újabb modulokat szeretnénk felvenni, azt itt tehetjük meg. Például a HttpClientModule bejgyzése:

//...
import { HttpClientModule } from '@angular/common/http';
//...
export const appConfig: ApplicationConfig = {
  providers: [
    provideRouter(routes),
    importProvidersFrom(HttpClientModule)
  ]
};

Visual Studio Code

Componizer bővítmény

A Componizer számára meg van jelölve függőségként a @componizer/schematics Node.js csomag. Telepítése:

npm install -D @componizer/schematics

A komponensek mozgatása ezek nélkül is lehetséges.

Webhely:

Tesztelés

Online

JavaScript, Angular, stb: