为之前的Flutter项目关闭NullSafety?
我想升级我的 flutter 以获得新功能,例如空安全,但我不希望我以前的项目影响它们。我只希望对我的新 flutter 项目进行新的更改,我想以类似于旧的方式运行我的旧项目。有什么办法吗?请指导我完成它。
谢谢你
回答
在旧项目的pubspec.yaml文件中设置 SDK 约束就足够了。
例如,以下内容没有启用空安全:
environment:
sdk: ">=2.11.0 <3.0.0"
environment:
sdk: ">=2.11.0 <3.0.0"
您还可以在 Dart 文件的顶部指定禁用该文件的空检查。
// @dart=2.9
// @dart=2.9
回答
以上回答并没有为我工作后我升级到Dart v2.12了上beta通道。所以我找到了这些选项:
您可以将此添加到任何 dart 文件的顶部以禁用空安全检查。
或类似于上面的答案,我必须包含 2.12 之前的版本以禁用空安全。您将在pubspec.yaml文件中编辑这一行。
回答
您可以使用--no-sound-null-safety带有flutter run.
您也可以将其添加为launch.jsonVSCode 中的参数
"configurations": [
{
"name": "Flutter",
"request": "launch",
"type": "dart",
"flutterMode": "debug",
"args": [
"--no-sound-null-safety"
],
},
]