flutter web run시 LocaI variable for "serviceWorkerVersion" is deprecated. Use "{{flutter_service_worker_version}}" template token instead.. 에러를 해결해보자.

쇠사슬·2024년 6월 9일

flutter

목록 보기
2/2

flutter web으로 개발중인 기존 프로젝트를 flutter 3.22로 upgrade할 경우 발생한다. 3.22의 변경된 index.html을 그대로 적용한다.

원인

기존의 프로젝트를 flutter 3.22를 업그레이드하고 build시 아마 아래의 스크린샷과 같은 메시지가 나올거다.

원인은 3.22부터 web/index.html의 생김새가 달라졌기 때문.

해결방법

3.22 기준으로 새로운 project를 생성하고 기존의 프로젝트 web/index.html을 새로운 버전에서 생성한 것으로 눈치껏 바꿔주자.

기존


#...생략
    <script type="text/javascript">
        window.flutterWebRenderer = "html";
    </script>
    <script>
        // The value below is injected by flutter build, do not touch.
        var serviceWorkerVersion = null;
    </script>
    <!-- This script adds the flutter initialization JS code -->
    <script src="flutter.js" defer></script>
    <!-- inAppView-->
    <script type="application/javascript" src="/assets/packages/flutter_inappwebview_web/assets/web/web_support.js" defer></script>
</head>
<body>


<script>
    window.addEventListener("load", function (ev) {
        _flutter.loader.loadEntrypoint({
            serviceWorker: {
                serviceWorkerVersion: serviceWorkerVersion,
            },
            onEntrypointLoaded: function (engineInitializer) {
                engineInitializer.initializeEngine().then(function (appRunner) {
                    appRunner.runApp();
                });
            },
        });
    });
</script>

신규( 3.22 기준)


  <!-- Favicon -->
  <link rel="icon" type="image/png" href="favicon.png"/>

  <title>flutter_application_1</title>
  <link rel="manifest" href="manifest.json">
</head>
<body>
  <script src="flutter_bootstrap.js" async></script>
</body>

profile
어디선가 무슨일을 하고 있긴 함..

0개의 댓글