[Dart/Flutter] / Dart/Flutter Ders 3 - Paket Oluşturma ve Kütüphane Ekleme

(30.01.2026 tarihinde oluşturuldu.)

Proje kök dizininide terminal üzerinden aşağıdaki komut girildiğinde command_runner isimli bir paket klasörü oluşturulacaktır.

dart create -t package command_runner

command_runner/lib/command_runner.dart dosyasında aşağıdaki kod bulunur. Bu kod satırı, paketteki asıl kütüphane kodlarını barındıracak olan command_runner/lib/src/command_runner_base.dart kütüphane dosyasını dışarıya aktarır. Bunun anlamı, bu paket ile içindeki kütüphane dosyasının talep edilen yerlerde kullanılmasını sağlamaktır.

/// A simple command runner to handle command-line arguments.
///
/// More extensive documentation for this library goes here.
library;
export 'src/command_runner_base.dart';
// TODO: Export any other libraries intended for clients of this package.

Şimdi yukarıda export edilen dosyanın (command_runner/lib/src/command_runner_base.dart) içini kendi kodlarımızla dolduralım.

class CommandRunner {
  /// Runs the command-line application logic with the given arguments.
  Future<void> run(List<String> input) async {
    print('CommandRunner received arguments: $input');
  }
}
Yukarıda CommandRunner isimli bir sınıf oluşturuldu. Future işe işaretlenmiş, gelecekte değer döndürmeden bir görevi yerine getiren eş zamansız run() fonksiyonunu barındırıyor. Şimdi aşağıdaki kod yardımı ile bu paketi kendi projemize dahil edebiliriz. Bunu yapmak için projemizin pubspec.yaml dosyasına girerek aşağıdaki gibi paketimizi yeni bir bağımlılık olarak ekliyoruz.

dependencies:
  http: ^1.3.0 # Keep your existing http dependency
  command_runner:
    path: ../command_runner # Points to your local command_runner package

Oluşturduğumuz paket bağımlılığının projemize uygulanması için /dartpedia/cli klasörünün içindeyken terminalde aşağıdaki kodu uygulayalım;


dart pub get

Şimdi asıl dosyamız olan cli/bin/cli.dart içine aşağıdaki kodları yazalım;

import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:command_runner/command_runner.dart';
void main(List<String> arguments) async { // main is now async and awaits the runner
  var runner = CommandRunner(); // Create an instance of your new CommandRunner
  await runner.run(arguments); // Call its run method, awaiting its Future<void>
}

Terminal üzerinden aşağıdaki komut satırını girerek uygulamayı çalıştıralım,

dart run bin/cli.dart wikipedia Computer_programming

Çıktı aşağıdaki gibi olacaktır;

CommandRunner received arguments: [wikipedia, Computer_programming]

Böylece projemiz daha modüler bir yapıda, daha kontrol edilebilir bir düzende olacaktır.

Kaynak: https://dart.dev/learn/tutorial/packages-libs


YORUMLAR (0 yorum)



Yorum Gönder
CAPTCHA