🦋
FlutterWeb "serviceWorkerVersion" is deprecated
こんなWarningが出た
Warningなので、放っておいても開発はできるのだけれど、
AWSにdeployしようとしたら、これが出て止まってしまったので、仕方ない、直します。
Launching lib/main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...
Warning: In index.html:39: Local variable for "serviceWorkerVersion" is deprecated. Use "{{flutter_service_worker_version}}" template token instead. See https://docs.flutter.dev/platform-integration/web/initialization for more details.
Warning: In index.html:49: "FlutterLoader.loadEntrypoint" is deprecated. Use "FlutterLoader.load" instead. See https://docs.flutter.dev/platform-integration/web/initialization for more details.
39行目のほうには「触るな」と書いてあるんだが・・・
強引に直しました。
修正前
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = null;
</script>
修正後
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = {{flutter_service_worker_version}};
</script>
Buildし直したら戻っちゃうかな?と思ったけど、大丈夫だった。
49行目は
<script>
window.addEventListener('load', function(ev) {
// Download main.dart.js
-- _flutter.loader.loadEntrypoint({ <=ここを
++ _flutter.loader.load({ <=こう直した
serviceWorker: {
serviceWorkerVersion: serviceWorkerVersion,
},
onEntrypointLoaded: function(engineInitializer) {
engineInitializer.initializeEngine().then(function(appRunner) {
appRunner.runApp();
});
}
});
});
</script>
Warning文の形とちょっと違う気もするけど、
documentをみると、これでいいらしい。
Warningは出なくなったけど
deployはまだほかにも問題があるので、まだできてない。
残念。
Discussion