-
[flutter] top-level path must start with "/": GoRoute(name: null, path: myMain)flutter/flutter 에러 2023. 4. 12. 17:53
플러터 웹 기능을 구현하다보니까 URL 관련된 내용들을 다뤄야 하는데 어떻게 해야할까 찾아보다가 GoRouter 라는게 있다고 해서 사용해봤습니다.
제가 설치한 버전은 go_router: ^6.5.5 입니다.
go router 다운 : pub.dev 링크
그리고 pub.dev 공식 document 가 아니라 누군가 정리해놓은 블로그를 보고 진행했는데
사용법을 찾아서 적용했는데 위와 같은 에러가 나타났습니다.
제대로 한거 같은데 왜 자꾸 에러가 나타나지? path에 "/" 는 제대로 붙인거 같은데...
제가 한 코드를 보여드리자면...
... final _router = GoRouter( initialLocation: '/', routes: [ GoRoute( path: '/', builder:(context, state) => Splash() ), GoRoute( path: 'myMain', builder: (context, state) => MyMain() ), GoRoute( path: 'webMain', builder: (context, state) => WebMain() ), GoRoute( path: 'desktopWeb', builder: (context, state) => DesktopWeb() ), GoRoute( path: 'webMap', builder: (context, state) => WebMap() ), ] );
이렇게 적용 했는데 로그 내용을 보니까 path 뒤에 "/" 로 시작하지 않아서 문제였었습니다.
아래처럼 변경하면 이상없이 잘 실행됩니다.
... final _router = GoRouter( initialLocation: '/', routes: [ GoRoute( path: '/', builder:(context, state) => Splash() ), GoRoute( path: '/myMain', builder: (context, state) => MyMain() ), GoRoute( path: '/webMain', builder: (context, state) => WebMain() ), GoRoute( path: '/desktopWeb', builder: (context, state) => DesktopWeb() ), GoRoute( path: '/webMap', builder: (context, state) => WebMap() ), ] );
그냥 pub.dev 의 내용을 보고 따라했어야 하는데 잘 되겠지 하는 생각에 바로 블로그 내용만 따라했더니 별거 아닌걸로 헤맸네요.
다음부터는 되도록이면 공식 document 부터 참고해서 진행하려고 합니다...
'flutter > flutter 에러' 카테고리의 다른 글