【问题标题】:How to structure a simple Dart web app如何构建一个简单的 Dart Web 应用程序
【发布时间】:2015-03-31 20:15:42
【问题描述】:

对于 Dart 初学者,我正在开发一个包含少于 10 个类的简单网络。对于如何将它们组织在文件、文件夹(和包?和库?)中,我完全感到困惑。

目前我有

web/
  img/
    *.png
  styles/
    main.css
  index.html
  main.dart
  *.dart

除了一个 Dart 文件之外的所有文件都包含一个类。导入通过import 'a.dart';(例如b.dart)完成。

这显然是错误的,因为 Dart 编辑器抱怨

导入的库 'c.dart' 和 'd.dart' 不应该相同 名字''

我浏览了 pub documentation 中的各个部分,并在 Polymer 文档中阅读了有关 possible app structures 的信息。我还查看了 Dart 附带的 pop_pop_win 示例应用程序的结构。这有点让人不知所措,因为有很多变化、选项和组合。

【问题讨论】:

  • stackoverflow.com/questions/16695634/…。听起来这是您真正的问题,而不是文件夹结构的任何问题。
  • 谢谢。所以,如果我做对了,我可以将library foo; part 'a.dart';... 添加到main.dart,然后将part of foo; 添加到其他 Dart 文件中。有效,但意味着我必须在main.dart 中进行 all 导入,因为部分文件不能有单独的导入......不好。或者我可以将library X; 添加到每个 Dart 文件中。更糟糕的是,因为 1 个文件中的 1 个类还没有创建“库”。嗯嗯,感觉一定有更好的办法……

标签: dart


【解决方案1】:

如果我是你,我会像这样创建库和导入:

awesomeLibrary.dart

library awesome;

part 'foo.dart';
part 'bar.dart';

foo.dart

part of awesome;

class Foo
{
    static function Baz() {}
}

bar.dart

part of awesome;

class Bar
{
    ...
}

ma​​in.dart

import 'awesomeLibrary.dart';

void main()
{
    Foo.Baz();  // Imported library function
}

【讨论】:

    猜你喜欢
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    相关资源
    最近更新 更多