为什么每次我 运行 这个 Flutter Web 应用程序都会打开一个 dart 文件?

Why this Flutter Web app opens a dart file every time I run the app?

当我将 main.dart 中的 main() 更改为 sqflite 包的 async 函数时,这一切都发生了。

当我 运行 应用程序 Chrome 打开进行调试但显示整个空白屏幕时,在 Visual Studio 代码中打开名为 web_entrypoint.dart 的文件显示此行:

这是 main.dart 中的 main():

//These are the imports you should consider
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';

void main() async {
  final GlobalKey<NavigatorState> navigatorKey =
        new GlobalKey<NavigatorState>();
// This part was added later      
  final database = openDatabase(
    join(await getDatabasesPath(), 'mDb.db'),
    onCreate: (db, version) {
      return db.execute(
        "CREATE TABLE  musteri(ad TEXT, telefon INTEGER, sigorta TEXT, dosya TEXT, eksper TEXT, hasar TEXT,  adres TEXT , ilkGelis DATETIME, km INTEGER, marka TEXT, model TEXT, motor TEXT, plaka TEXT, renk TEXT, sase TEXT, tc PRIMARY KEY INTEGER, sonGelis DATETIME, tahTeslim DATETIME )",
      );
    },
    version: 1,
  );

  runApp(MaterialApp(
    title: 'Title',
    
    initialRoute: '/',
    routes: {
     
      '/': (context) => SignIn(),
      
      '/home': (context) => Menu(),
      '/verify': (context) => EmailVerification(),
      '/yenikayit': (context) => Kayit("New Record"),
    },
    navigatorKey: navigatorKey,
  ));
}

pubspec.yaml 没问题。我认为这是关于平台规范的事情,但无法弄清楚原因。我也没有收到错误消息。在此之前,我的 main() 函数中只有 runAppNavigatorKey,并且运行良好。

sqflite 不支持网络。包装上不仅没有吊牌,还直接写着:

Other platforms support:

  • [...]
  • Web is not supported.

因此,无论导致您的具体问题的原因是什么,您都无法以这种方式使用数据库。很有可能,你看到的就是这个结果。