HTML 和 Dart 导入的区别

Difference of HTML and Dart imports

使用 Polymer Dart 1.0.0-rc.6,关于 html 导入有什么区别或建议吗使用 <link rel ...> 与 Dart 的导入语法; import '...'?

如果我使用 Dart 的 import,通常它会遗漏一个警告,因为我只导入 "side effect" 在 Polymer 中加载元素,但实际上并没有在 Dart 代码中使用它,在这种情况下,我可以通过简单地输入存在于某处导入的 Dart Polymer 元素中的 class 名称来抑制警告,然后输入 ;,但是一些 dart 聚合物元素没有任何 class es 暴露了,所以在这种情况下我无法抑制警告,例如:'package:polymer_elements/iron_icons.dart';没有导出的 classes,我可以简单地输入来抑制。

换句话说,我是使用 dart 的导入机制导入元素,还是通过 HTML 导入有关系吗? dart 团队是否有任何计划来支持抑制此类警告?

Dart 导入 import '...'; 是必经之路。我在任何地方都没有看到 <link rel="import" > 推荐。

另一种解决方法是在 Dart 文档注释中引用导出的标识符

import 'package:polymer_elements/paper_item.dart';

/// Silence analyzer [PaperItem]
@PolymerRegister('some-element')
class SomeElement extends PolymerElement { ...

如果我有样式模块(仅 HTML),其中 *.dart 文件的唯一目的是能够使用 Dart 导入来导入样式模块,我会添加一些标识符,例如

const myStyleSilence = 0;

能够在 Dart 文档注释中引用它以消除未使用的导入警告。

Dart 导入的主要优点是可以避免为 <link rel="import" src="..."> 构建正确路径的奇怪和复杂的规则(参见 https://www.dartlang.org/polymer-old/app-directories.html#into-a-non-dart-file-1)。 重构支持可以(或应该)更好地使用 Dart 导入。

我当然希望最终能够抑制未使用的导入警告。为了使分析器更具可配置性,正在进行大量工作。 Polymer.dart 团队 https://github.com/dart-lang/sdk/issues/22660

的一名成员提出了一个问题