flutter-navigation-go-router
Installation
SKILL.md
Flutter Navigation — go_router
원칙
- 경로 상수는 한 곳에 모은다.
lib/core/routing/route_paths.dart의RoutePaths에 문자열 상수로 선언한다. 코드 어디에서도 raw 문자열을 직접 쓰지 않는다. - 라우터 정의는
lib/core/routing/router.dart하나.GoRouter인스턴스는 전역router변수로 노출되고main.dart의MaterialApp.router가 소비한다. - 라우트 빌더는 Root 위젯만 만든다. DI/이벤트/상태 구독은 Root 가 담당하므로 라우터는 Screen 에 대한 지식이 없다.
- 크로스 feature 네비게이션은
context.go/context.push콜백으로 처리한다. Screen/Root 가 다른 feature 의 라우트 문자열을 알아도 된다는 것이 이 프로젝트의 관례다 —RoutePaths상수를 통해서 참조하기 때문에 안전하다.
경로 상수
// lib/core/routing/route_paths.dart
abstract class RoutePaths {
static const String splash = '/Splash';
static const String signIn = '/SingIn';
static const String signUp = '/SingUp';