【问题标题】:Difference of HTML and Dart importsHTML 和 Dart 导入的区别
【发布时间】:2016-02-14 11:31:12
【问题描述】:

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

如果我使用 Dart 的 import,通常它会留下警告,因为我只导入在 Polymer 中加载元素的“副作用”,而不是在 Dart 代码中实际使用它,在这种情况下我可以通过简单地在某处输入一些存在于导入的 Dart 聚合物元素中的类名来抑制警告,然后是 ;,但是一些 dart 聚合物元素没有暴露任何类,所以在这种情况下我不能抑制警告,因为例如:'package:polymer_elements/iron_icons.dart';没有导出的类,我可以简单地输入来抑制。

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

【问题讨论】:

    标签: dart dart-polymer


    【解决方案1】:

    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 doc cmets 中引用它以消除未使用的导入警告。

    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

    提出了一个问题

    【讨论】:

      猜你喜欢
      • 2020-12-22
      • 2013-12-22
      • 2015-04-13
      • 2019-07-21
      • 2019-01-22
      • 2020-01-11
      • 2019-05-13
      • 2012-03-12
      • 1970-01-01
      相关资源
      最近更新 更多