Wednesday

18-06-2025 Vol 19

Complete Guide to Angular CLI for Beginners

Panduan Lengkap Angular CLI untuk Pemula

Angular CLI (Command Line Interface) adalah alat yang ampuh yang menyederhanakan pengembangan aplikasi Angular. CLI mengotomatiskan tugas-tugas umum, menghasilkan kode boilerplate, dan membantu Anda membangun, menguji, dan menerapkan aplikasi Anda. Panduan ini dirancang untuk pemula dan akan memandu Anda melalui dasar-dasar Angular CLI, memungkinkan Anda untuk memulai proyek Angular Anda dengan percaya diri.

Daftar Isi

  1. Pendahuluan: Apa itu Angular CLI?
  2. Instalasi Angular CLI
  3. Perintah Angular CLI Dasar
    1. ng new: Membuat Proyek Baru
    2. ng serve: Menjalankan Aplikasi
    3. ng generate: Menghasilkan Komponen, Layanan, dll.
    4. ng build: Membangun Aplikasi untuk Produksi
    5. ng test: Menjalankan Tes Unit
    6. ng e2e: Menjalankan Tes End-to-End
    7. ng lint: Menganalisis Kode dengan Linting
    8. ng update: Memperbarui Angular CLI dan Dependensi
  4. Struktur Proyek Angular CLI
  5. Konfigurasi Angular CLI (angular.json)
  6. Generasi Kode dengan Angular CLI
    1. Komponen
    2. Layanan
    3. Modul
    4. Pipes
    5. Directives
    6. Interfaces
    7. Enums
  7. Membangun dan Menerapkan Aplikasi Angular Anda
  8. Tips dan Trik Angular CLI
  9. Pemecahan Masalah Umum
  10. Sumber Daya Tambahan
  11. Kesimpulan

Pendahuluan: Apa itu Angular CLI?

Angular CLI adalah alat baris perintah yang memudahkan pengembangan aplikasi Angular. CLI menyediakan perintah untuk:

  • Membuat proyek baru
  • Menghasilkan kode (komponen, layanan, modul, dll.)
  • Membangun dan mengoptimalkan aplikasi Anda
  • Menjalankan pengujian
  • Menerapkan aplikasi Anda

Dengan menggunakan Angular CLI, Anda dapat fokus pada penulisan kode aplikasi Anda daripada mengkhawatirkan konfigurasi dan tugas-tugas manual lainnya.

Instalasi Angular CLI

Sebelum Anda dapat menggunakan Angular CLI, Anda harus menginstalnya secara global di sistem Anda. Anda memerlukan Node.js dan npm (Node Package Manager) yang terinstal terlebih dahulu. Jika Anda belum memilikinya, unduh dan instal dari situs web Node.js.

Setelah Node.js dan npm terinstal, Anda dapat menginstal Angular CLI menggunakan perintah berikut:

npm install -g @angular/cli

Perintah ini menginstal Angular CLI secara global, sehingga Anda dapat menggunakannya dari direktori mana pun di sistem Anda.

Setelah instalasi selesai, Anda dapat memverifikasi instalasi dengan menjalankan perintah berikut:

ng --version

Perintah ini akan menampilkan versi Angular CLI yang terinstal, serta versi Angular, Node.js, dan OS yang Anda gunakan.

Perintah Angular CLI Dasar

Angular CLI menyediakan berbagai perintah untuk membantu Anda dengan pengembangan aplikasi Angular Anda. Beberapa perintah yang paling umum digunakan adalah:

ng new: Membuat Proyek Baru

Perintah ng new digunakan untuk membuat proyek Angular baru. Perintah ini akan membuat direktori baru dengan semua file dan folder yang diperlukan untuk aplikasi Angular. Sintaksnya adalah:

ng new <nama-proyek>

Misalnya, untuk membuat proyek baru bernama “my-app”, Anda akan menjalankan perintah berikut:

ng new my-app

CLI akan menanyakan beberapa pertanyaan kepada Anda, seperti apakah Anda ingin menambahkan Angular routing dan gaya lembaran mana yang ingin Anda gunakan (CSS, SCSS, LESS, dll.). Pilih opsi yang sesuai dengan kebutuhan Anda.

Setelah proyek dibuat, Anda dapat menavigasi ke direktori proyek:

cd my-app

ng serve: Menjalankan Aplikasi

Perintah ng serve digunakan untuk membangun dan menjalankan aplikasi Anda secara lokal. Perintah ini akan memulai server pengembangan yang akan secara otomatis memuat ulang aplikasi Anda saat Anda membuat perubahan pada kode Anda. Sintaksnya adalah:

ng serve

Secara default, aplikasi akan berjalan di http://localhost:4200/. Anda dapat mengubah port dengan menggunakan opsi --port:

ng serve --port 4300

Untuk secara otomatis membuka aplikasi di browser Anda, gunakan opsi --open (atau -o):

ng serve --open

ng generate: Menghasilkan Komponen, Layanan, dll.

Perintah ng generate (atau ng g) digunakan untuk menghasilkan berbagai jenis kode, seperti komponen, layanan, modul, dan lainnya. Perintah ini mengotomatiskan pembuatan file boilerplate dan membantu Anda mempertahankan struktur proyek yang konsisten. Sintaksnya adalah:

ng generate <skema> <nama>

Di mana <skema> adalah jenis kode yang ingin Anda hasilkan (misalnya, component, service, module) dan <nama> adalah nama kode tersebut.

Misalnya, untuk menghasilkan komponen bernama “my-component”, Anda akan menjalankan perintah berikut:

ng generate component my-component

Ini akan membuat direktori baru bernama “my-component” di bawah direktori src/app, dengan file-file berikut:

  • my-component.component.ts (file kelas komponen)
  • my-component.component.html (file templat HTML)
  • my-component.component.css (file gaya CSS)
  • my-component.component.spec.ts (file pengujian unit)

Angular CLI mendukung banyak skema. Berikut adalah beberapa yang paling umum:

  • component: Menghasilkan komponen.
  • service: Menghasilkan layanan.
  • module: Menghasilkan modul.
  • pipe: Menghasilkan pipe.
  • directive: Menghasilkan directive.
  • class: Menghasilkan class.
  • interface: Menghasilkan interface.
  • enum: Menghasilkan enum.

ng build: Membangun Aplikasi untuk Produksi

Perintah ng build digunakan untuk membangun aplikasi Anda untuk produksi. Perintah ini akan mengoptimalkan kode Anda, menggabungkan file, dan menghasilkan folder dist yang berisi file-file yang dapat Anda sebarkan ke server web. Sintaksnya adalah:

ng build

Untuk membangun aplikasi dalam mode produksi (dengan optimasi dan minifikasi), gunakan opsi --prod:

ng build --prod

Anda dapat menentukan basis URL aplikasi dengan opsi --base-href. Ini penting ketika Anda menerapkan aplikasi ke subpath di domain Anda:

ng build --prod --base-href=/my-app/

ng test: Menjalankan Tes Unit

Perintah ng test digunakan untuk menjalankan tes unit aplikasi Anda. Perintah ini akan menggunakan Karma test runner untuk menjalankan tes yang didefinisikan dalam file *.spec.ts Anda. Sintaksnya adalah:

ng test

Perintah ini akan membuka browser dan menjalankan tes Anda. Setiap kali Anda membuat perubahan pada kode Anda, tes akan berjalan secara otomatis.

ng e2e: Menjalankan Tes End-to-End

Perintah ng e2e digunakan untuk menjalankan tes end-to-end (E2E) aplikasi Anda. Tes E2E menguji aplikasi Anda dari perspektif pengguna, berinteraksi dengan UI dan memverifikasi bahwa semuanya berfungsi seperti yang diharapkan. Perintah ini menggunakan Protractor sebagai framework tes E2E. Sintaksnya adalah:

ng e2e

Pastikan Anda telah mengkonfigurasi Protractor dengan benar sebelum menjalankan perintah ini. Biasanya, CLI sudah mengkonfigurasi Protractor saat Anda membuat proyek baru.

ng lint: Menganalisis Kode dengan Linting

Perintah ng lint digunakan untuk menganalisis kode Anda dengan linting. Linting membantu Anda mengidentifikasi masalah potensial dalam kode Anda, seperti kesalahan gaya, masalah performa, dan kesalahan potensial. Angular CLI menggunakan TSLint secara default. Sintaksnya adalah:

ng lint

Anda dapat mengkonfigurasi aturan linting di file tslint.json di root direktori proyek Anda.

ng update: Memperbarui Angular CLI dan Dependensi

Perintah ng update digunakan untuk memperbarui Angular CLI dan dependensi proyek Anda ke versi terbaru. Ini adalah cara yang bagus untuk tetap mengikuti pembaruan terbaru dan perbaikan bug. Sintaksnya adalah:

ng update

Anda juga dapat memperbarui hanya Angular CLI:

ng update @angular/cli

Atau hanya Angular core:

ng update @angular/core

Penting untuk menjalankan perintah ini secara berkala untuk memastikan Anda menggunakan versi terbaru dari semua dependensi Anda.

Struktur Proyek Angular CLI

Saat Anda membuat proyek Angular baru dengan Angular CLI, CLI akan membuat struktur direktori standar untuk Anda. Berikut adalah struktur proyek tipikal:

  my-app/
  ├── .editorconfig
  ├── .gitignore
  ├── angular.json
  ├── karma.conf.js
  ├── package.json
  ├── README.md
  ├── src/
  │   ├── app/
  │   │   ├── app.component.css
  │   │   ├── app.component.html
  │   │   ├── app.component.spec.ts
  │   │   ├── app.component.ts
  │   │   ├── app.module.ts
  │   │   └── ...
  │   ├── assets/
  │   ├── environments/
  │   │   ├── environment.prod.ts
  │   │   └── environment.ts
  │   ├── index.html
  │   ├── main.ts
  │   ├── polyfills.ts
  │   ├── styles.css
  │   ├── test.ts
  │   └── tsconfig.app.json
  ├── tsconfig.json
  ├── tslint.json
  └── ...
  

Berikut adalah penjelasan singkat tentang beberapa file dan direktori utama:

  • angular.json: File konfigurasi untuk proyek Angular CLI Anda. Ini berisi pengaturan untuk pembangunan, pengujian, dan penerapan aplikasi Anda.
  • package.json: File yang berisi informasi tentang proyek Anda, termasuk dependensi dan skrip.
  • src/: Direktori yang berisi kode sumber aplikasi Anda.
  • src/app/: Direktori yang berisi modul akar aplikasi Anda dan komponen aplikasi Anda.
  • src/assets/: Direktori yang berisi aset statis Anda, seperti gambar, font, dan file data.
  • src/environments/: Direktori yang berisi file konfigurasi untuk lingkungan yang berbeda, seperti pengembangan dan produksi.
  • src/index.html: File HTML utama untuk aplikasi Anda.
  • src/main.ts: File yang mem-bootstrap modul akar aplikasi Anda.
  • src/styles.css: File gaya global untuk aplikasi Anda.
  • tsconfig.json: File konfigurasi untuk TypeScript compiler.
  • tslint.json: File konfigurasi untuk linter TSLint.

Konfigurasi Angular CLI (angular.json)

File angular.json adalah pusat konfigurasi untuk proyek Angular CLI Anda. Ini berisi pengaturan untuk pembangunan, pengujian, dan penerapan aplikasi Anda. File ini dalam format JSON dan memungkinkan Anda untuk menyesuaikan berbagai aspek dari proses pembangunan.

Berikut adalah contoh bagian dari file angular.json:


  {
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
    "version": 1,
    "newProjectRoot": "projects",
    "projects": {
      "my-app": {
        "projectType": "application",
        "schematics": {},
        "root": "",
        "sourceRoot": "src",
        "prefix": "app",
        "architect": {
          "build": {
            "builder": "@angular-devkit/build-angular:browser",
            "options": {
              "outputPath": "dist/my-app",
              "index": "src/index.html",
              "main": "src/main.ts",
              "polyfills": "src/polyfills.ts",
              "tsConfig": "tsconfig.app.json",
              "assets": [
                "src/favicon.ico",
                "src/assets"
              ],
              "styles": [
                "src/styles.css"
              ],
              "scripts": []
            },
            "configurations": {
              "production": {
                "fileReplacements": [
                  {
                    "replace": "src/environments/environment.ts",
                    "with": "src/environments/environment.prod.ts"
                  }
                ],
                "optimization": true,
                "outputHashing": "all",
                "sourceMap": false,
                "extractCss": true,
                "namedChunks": false,
                "aot": true,
                "extractLicenses": true,
                "vendorChunk": false,
                "buildOptimizer": true,
                "budgets": [
                  {
                    "type": "initial",
                    "maximumWarning": "2mb",
                    "maximumError": "5mb"
                  },
                  {
                    "type": "anyComponentStyle",
                    "maximumWarning": "6kb",
                    "maximumError": "10kb"
                  }
                ]
              }
            }
          },
          "serve": {
            "builder": "@angular-devkit/build-angular:dev-server",
            "options": {
              "browserTarget": "my-app:build"
            },
            "configurations": {
              "production": {
                "browserTarget": "my-app:build:production"
              }
            }
          },
          "extract-i18n": {
            "builder": "@angular-devkit/build-angular:extract-i18n",
            "options": {
              "browserTarget": "my-app:build"
            }
          },
          "test": {
            "builder": "@angular-devkit/build-angular:karma",
            "options": {
              "main": "src/test.ts",
              "polyfills": "src/polyfills.ts",
              "tsConfig": "tsconfig.spec.json",
              "karmaConfig": "karma.conf.js",
              "assets": [
                "src/favicon.ico",
                "src/assets"
              ],
              "styles": [
                "src/styles.css"
              ],
              "scripts": []
            }
          },
          "lint": {
            "builder": "@angular-devkit/build-angular:tslint",
            "options": {
              "tsConfig": [
                "tsconfig.app.json",
                "tsconfig.spec.json",
                "e2e/tsconfig.json"
              ],
              "exclude": [
                "**/node_modules/**"
              ]
            }
          },
          "e2e": {
            "builder": "@angular-devkit/build-angular:protractor",
            "options": {
              "protractorConfig": "e2e/protractor.conf.js",
              "devServerTarget": "my-app:serve"
            },
            "configurations": {
              "production": {
                "devServerTarget": "my-app:serve:production"
              }
            }
          }
        }
      }
    },
    "defaultProject": "my-app"
  }
  

Beberapa properti penting dalam file angular.json meliputi:

  • projects: Berisi konfigurasi untuk setiap proyek dalam ruang kerja. Biasanya, Anda hanya akan memiliki satu proyek.
  • architect: Berisi konfigurasi untuk berbagai target pembangunan, seperti build, serve, test, dan lint.
  • options: Berisi opsi konfigurasi khusus untuk setiap target pembangunan.
  • configurations: Berisi konfigurasi yang berbeda untuk target pembangunan yang berbeda, seperti production dan development.

Anda dapat memodifikasi file angular.json untuk menyesuaikan proses pembangunan untuk kebutuhan spesifik Anda. Misalnya, Anda dapat mengubah direktori keluaran, menambahkan aset tambahan, atau mengkonfigurasi optimasi yang berbeda untuk lingkungan produksi.

Generasi Kode dengan Angular CLI

Angular CLI menyediakan perintah ng generate (atau ng g) untuk menghasilkan berbagai jenis kode, seperti komponen, layanan, modul, dan lainnya. Ini membantu Anda mengotomatiskan proses pembuatan file boilerplate dan mempertahankan struktur proyek yang konsisten.

Komponen

Komponen adalah blok bangunan dasar aplikasi Angular. Komponen terdiri dari templat HTML, kelas TypeScript, dan gaya CSS. Untuk menghasilkan komponen, gunakan perintah:

ng generate component <nama-komponen>

Misalnya:

ng generate component my-new-component

Anda dapat menggunakan opsi tambahan:

  • --inline-template: Membuat komponen dengan template inline.
  • --inline-style: Membuat komponen dengan style inline.
  • --skip-tests: Melewati pembuatan file pengujian.
  • --module: Menambahkan komponen ke modul yang ditentukan.

Layanan

Layanan adalah kelas yang menyediakan fungsionalitas yang dapat digunakan kembali oleh komponen lain. Layanan biasanya digunakan untuk mengakses data, melakukan logika bisnis, atau berinteraksi dengan API. Untuk menghasilkan layanan, gunakan perintah:

ng generate service <nama-layanan>

Misalnya:

ng generate service data

Opsi tambahan:

  • --skip-tests: Melewati pembuatan file pengujian.

Modul

Modul adalah cara untuk mengatur aplikasi Anda ke dalam unit fungsionalitas yang berbeda. Modul dapat berisi komponen, layanan, dan modul lainnya. Untuk menghasilkan modul, gunakan perintah:

ng generate module <nama-modul>

Misalnya:

ng generate module admin

Opsi tambahan:

  • --route: Membuat modul dengan konfigurasi routing.

Pipes

Pipes adalah cara untuk mentransformasikan data dalam template Anda. Pipes dapat digunakan untuk memformat tanggal, mengubah teks, atau melakukan operasi lain pada data. Untuk menghasilkan pipe, gunakan perintah:

ng generate pipe <nama-pipe>

Misalnya:

ng generate pipe capitalize

Opsi tambahan:

  • --skip-tests: Melewati pembuatan file pengujian.

Directives

Directives adalah cara untuk memanipulasi DOM (Document Object Model) dalam template Anda. Directives dapat digunakan untuk mengubah tampilan elemen, menambahkan perilaku baru, atau membuat komponen khusus. Untuk menghasilkan directive, gunakan perintah:

ng generate directive <nama-directive>

Misalnya:

ng generate directive highlight

Opsi tambahan:

  • --skip-tests: Melewati pembuatan file pengujian.

Interfaces

Interfaces adalah cara untuk menentukan struktur data. Interfaces membantu Anda untuk menulis kode yang lebih jelas dan mudah dipelihara. Untuk menghasilkan interface, gunakan perintah:

ng generate interface <nama-interface>

Misalnya:

ng generate interface product

Enums

Enums adalah cara untuk menentukan set nilai bernama. Enums membantu Anda untuk menulis kode yang lebih mudah dibaca dan dipahami. Untuk menghasilkan enum, gunakan perintah:

ng generate enum <nama-enum>

Misalnya:

ng generate enum status

Membangun dan Menerapkan Aplikasi Angular Anda

Setelah Anda mengembangkan aplikasi Angular Anda, Anda perlu membangunnya untuk produksi dan menerapkannya ke server web. Angular CLI menyediakan perintah yang mudah untuk melakukan ini.

Untuk membangun aplikasi Anda untuk produksi, gunakan perintah ng build dengan opsi --prod:

ng build --prod

Perintah ini akan mengoptimalkan kode Anda, menggabungkan file, dan menghasilkan folder dist yang berisi file-file yang dapat Anda sebarkan ke server web.

Setelah Anda membangun aplikasi Anda, Anda dapat menerapkannya ke server web mana pun. Beberapa opsi umum meliputi:

Setiap penyedia hosting memiliki proses penerapan sendiri. Namun, secara umum, Anda akan perlu mengunggah konten dari folder dist ke server web Anda.

Beberapa penyedia hosting, seperti Firebase dan Netlify, menyediakan integrasi Angular CLI yang menyederhanakan proses penerapan. Anda dapat menggunakan perintah ng deploy untuk menerapkan aplikasi Anda langsung dari baris perintah.

Tips dan Trik Angular CLI

Berikut adalah beberapa tips dan trik untuk menggunakan Angular CLI secara efektif:

  • Gunakan perintah ng help untuk mempelajari lebih lanjut tentang perintah tertentu. Misalnya, untuk mempelajari lebih lanjut tentang perintah ng generate, jalankan ng help generate.
  • Gunakan opsi tab-completion untuk menyelesaikan perintah dan opsi. Ini dapat menghemat waktu dan mengurangi kesalahan.
  • Konfigurasikan lingkungan yang berbeda untuk pengembangan dan produksi. Gunakan file src/environments/environment.ts dan src/environments/environment.prod.ts untuk menyimpan konfigurasi yang berbeda untuk lingkungan yang berbeda.
  • Gunakan Angular CLI untuk membuat modul lazy-loaded. Modul lazy-loaded dapat meningkatkan performa aplikasi Anda dengan hanya memuat modul saat dibutuhkan.
  • Gunakan Angular CLI untuk membuat components yang dapat digunakan kembali. Components yang dapat digunakan kembali dapat membantu Anda mengurangi duplikasi kode dan membuat aplikasi yang lebih mudah dipelihara.
  • Selalu perbarui Angular CLI dan dependensi proyek Anda ke versi terbaru. Ini akan membantu Anda memastikan bahwa Anda menggunakan pembaruan terbaru dan perbaikan bug.

Pemecahan Masalah Umum

Berikut adalah beberapa masalah umum yang mungkin Anda temui saat menggunakan Angular CLI dan cara memecahkannya:

  • “Command not found” error: Ini berarti bahwa Angular CLI tidak terinstal secara global atau tidak ada di PATH Anda. Pastikan Anda telah menginstal Angular CLI secara global menggunakan perintah npm install -g @angular/cli dan bahwa direktori instalasi npm ada di PATH Anda.
  • “Port already in use” error: Ini berarti bahwa port yang digunakan oleh server pengembangan (biasanya 4200) sudah digunakan oleh aplikasi lain. Anda dapat mengubah port dengan menggunakan opsi --port saat menjalankan perintah ng serve.
  • “Module not found” error: Ini berarti bahwa aplikasi Anda tidak dapat menemukan modul yang dibutuhkan. Pastikan Anda telah menginstal semua dependensi yang diperlukan menggunakan perintah npm install dan bahwa modul diimpor dengan benar.
  • Build errors: Periksa konsol untuk pesan kesalahan yang lebih spesifik. Kesalahan build sering disebabkan oleh kesalahan sintaks, tipe yang tidak cocok, atau konfigurasi yang salah.

Sumber Daya Tambahan

Berikut adalah beberapa sumber daya tambahan yang dapat membantu Anda mempelajari lebih lanjut tentang Angular CLI:

Kesimpulan

Angular CLI adalah alat yang ampuh yang dapat menyederhanakan pengembangan aplikasi Angular Anda. Dengan menggunakan Angular CLI, Anda dapat mengotomatiskan tugas-tugas umum, menghasilkan kode boilerplate, dan membangun, menguji, dan menerapkan aplikasi Anda dengan mudah. Panduan ini telah memberikan pengantar tentang dasar-dasar Angular CLI dan semoga ini membekali Anda dengan pengetahuan untuk memulai proyek Angular Anda dengan percaya diri. Teruslah berlatih dan bereksperimen untuk sepenuhnya memanfaatkan potensi Angular CLI!

“`

omcoding

Leave a Reply

Your email address will not be published. Required fields are marked *