Dart 混淆类型错误

Posted

技术标签:

【中文标题】Dart 混淆类型错误【英文标题】:Dart confusing TYPE error 【发布时间】:2013-04-12 22:11:16 【问题描述】:

我正在使用 dart 和 web_ui 构建一个 Web 应用程序。

在我添加 web_ui pub 之前一切正常,现在,当我尝试运行 build.dart 文件时出现错误:

Uncaught Error: type 'AttributeName' is not a subtype of type 'String' of 'name'.

这是什么意思?

据我了解,这意味着在某处有一个名为“AttributeName”的类的“name”实例正在扩展“String”类。

我搜索了整个项目,没有一个名为“AttributeName”的类,也没有一个“name”的实例。

我有最新的 Dart 编辑器和 SDK:

Dart Editor version 0.4.7_r21658
Dart SDK version 0.4.7.5_r21658

编辑: 这是我的 build.dart 文件:

import 'package:web_ui/component_build.dart';
import 'dart:io';

void main() 
  build(new Options().arguments, ['web/menyplattan.html']);

另外,我更新了所有的酒吧

【问题讨论】:

你能发布你的 build.dart 文件的内容吗?还有正在构建的文件? 如果您在更新到最新的 Dart 编辑器之前开始了您的项目,您是否在项目中运行了 Tools -> Pub Update? 我用您要求的数据更新了我原来的问题 重复***.com/questions/16080115/dart-webui-build-error ?? 【参考方案1】:

此消息看起来 web_ui 未通过类型检查。

类似的SO questionMarioP 链接有一个堆栈跟踪,显示此消息来自 web ui 库本身。

你的 html 中有 xmlns 属性吗? 看看这个web-ui issue。

AttributeName 在 html5lib 库中定义。也许 web-ui 期待这个库的更新版本,但得到一个旧版本。确保您已完成 pub 安装。您也可以尝试删除您的包文件夹并进行全新的 pub 安装。

这可能是由过期的软件包引起的,但也可能是 web-ui 中的错误。看看你能不能得到一个堆栈跟踪和file a bug report,或者把它发布到web-ui mailing list。

【讨论】:

以上是关于Dart 混淆类型错误的主要内容,如果未能解决你的问题,请参考以下文章

Flutter web Firebase 分析类型错误:dart.global.firebase.analytics 不是函数

错误:[dart] 参数类型“Context”不能分配给参数类型“BuildContext”。 [argument_type_not_assignable]

泛型函数子类型约束错误和混淆

Flutter [错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:类型“int”不是类型转换中“String”类型的子类型

错误:flutter/lib/ui/ui_dart_state.cc(157) 未处理的异常:类型 'Future<dynamic>' 不是类型 'FutureOr<Null>

对异常类型有一些混淆