出现错误:类型“JSObject”不能用作超类型。错误,但我没有在代码中的任何地方使用 dart.js,并且无法将我的应用程序部署到 vercel。
下面是我的 pubspec:
name: appname
description: "A new Flutter project."
publish_to: 'none'
version: 0.1.0
environment:
sdk: '>=3.2.5 <4.0.0'
dependencies:
flutter:
sdk: flutter
get: ^4.6.6
font_awesome_flutter: ^10.6.0
http: ^1.2.0
flutter_dotenv: ^5.1.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- .env
web
的更新
0.4.0已经解决了错误中显示的问题。来自变更日志:
从所有类型中删除
。implements JSObject
例如,0.3.0 中
ReadableStream
的类定义为:
class ReadableStream implements JSObject {
现在已更改为:
class ReadableStream {
http
套餐取决于 web
套餐。在http
的1.2.0版本中,它依赖于web
和这个版本约束:
web: '>=0.3.0 <0.5.0'
要解决此问题,只需直接在 pubscpec 中依赖
web
包即可。使用 0.4.0 及以上版本是安全的,因为它仍然满足上面所示的约束。
在你的 pubspec 文件中:
dependencies:
web: ^0.4.0
现在出现了另一个问题,
flutter_test
包可能与这些更改不兼容。如果您不使用 flutter_test
,只需将其从 dev_dependencies
中删除即可。如果您正在使用,可以尝试将 Flutter SDK 升级到 flutter_test
支持 web
≥ 0.4.0 的版本。