为什么每次我 运行 这个 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()
函数中只有 runApp
和 NavigatorKey
,并且运行良好。
sqflite 不支持网络。包装上不仅没有吊牌,还直接写着:
Other platforms support:
- [...]
- Web is not supported.
因此,无论导致您的具体问题的原因是什么,您都无法以这种方式使用数据库。很有可能,你看到的就是这个结果。
当我将 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()
函数中只有 runApp
和 NavigatorKey
,并且运行良好。
sqflite 不支持网络。包装上不仅没有吊牌,还直接写着:
Other platforms support:
- [...]
- Web is not supported.
因此,无论导致您的具体问题的原因是什么,您都无法以这种方式使用数据库。很有可能,你看到的就是这个结果。