module - Dart App 组织子模块

标签 module dart project-management dart-polymer

这个问题分为两部分。第一个可以总结为Public Image Limited , “这就是你想要的/这就是你得到的。”

我将通过指向教程来保持问题简单:

  • Define a Custom Element Dart 教程

  • 我“决定”我想将不同的元素视为项目 Assets (可以这么说)。于是我做了一个子文件夹:命名为:组件 ,位于 下方$/web/文件夹,每个:
  • enchilada - Pub Package Layout

  • 像这样的东西:
    enchilada/
       :
      web/
        index.html
        main.dart
        style.css
        components/
            tut_stopwatch.html
            tut_stopwatch.dart
    

    当我这样做时: Dart Editor 变得非常困惑。所以首先,我需要指定“我想要什么”,然后描述,“我得到什么”[得到]

    我要 :
  • Dart 让我将子模块放在从属文件夹中。
  • 在这种情况下,像“tut_stopwatch”这样的自定义元素,对路径变化进行了适当的调整(我做了)。
  • 理想情况下,我希望 Dart 可以在多个级别集成从属模块。
  • 您可能会考虑自定义 UI 元素,例如“面板”,它是多个嵌套子组件的“容器”。

  • 我得到 :
  • 大量编译错误。这些错误循环:它们“解决”然后“重新出现”。
  • 我关闭了 Dart Editor [1.2.0-release]、Dart SDK [1.2.0] 并重新启动 - 问题仍然存在。
  • ' 错误 ' 以 为中心聚合物 ,即:

  •  Target of URI does not exist: 'package:../polymer/polymer.dart'
     Annotation can be only constant variable or constant constructor invocation
     Classes can only extend other classes
     Annotation can be only constant variable or constant constructor invocation
    

  • 我认为找不到“聚合物”是一种症状。 Dart 编辑器循环:查找 <-> not_find

  • 这种行为的原因似乎是我移动了两个文件:
  • tute_stopwatch.html 和
  • tute_stopwatch.dart ...

  • 进入【子】组件/文件夹如图(上图)。错误源于文件中聚合物的导入:
  • 组件/ tute_stopwatch .dart

  • 代码如下(Dart build 错误作为注释):

    import 'package:polymer/polymer.dart';
    
    @CustomTag('tute-stopwatch')                  // <-- Target of URI does not exist: 'package:polymer/polymer.dart'
    class TuteStopwatch extends PolymerElement {  // <-- Annotation can be only constant variable or constant constructor invocation
      @observable String counter='00:00';         // <-- Classes can only extend other classes
                                                  //     Undefined class 'PolymerElement'
      TuteStopwatch.created() : super.created();
    
        :
    } // TutStopwatch class
    

    需要指出的一件事是 Dart 编辑器使 Windows Junction link包裹/每个子文件夹中的文件夹。那将是 symlink在 Linux 或 Mac 上。所以包文件路径应该可以正常工作。

    我正在寻找一种策略来获得我想要的东西?在开发中使用 Dart 和 Dart 编辑器为不同的模块或“功能”创建子文件夹?在此先感谢.../w
    v02 ... Added code for import polymer error.
    v01 ... Original query.
    

    最佳答案

    我已经解决了我认为的问题。我希望那些找到摆脱这种死胡同的更好方法的人也会发布更好的替代方案。这个“解决方案”(?)非常不雅,尽管应用程序运行正确(如所写),但 Dart Editor 中仍然存在错误。问题标签..

    至少我知道这会产生一个根据我正在阅读的代码工作的应用程序。我认为该行没有语法错误:

    import 'package:polymer/polymer.dart';
    

    demo code作品和Dart Editor报告错误。所以是的,我同意,“信息毫无意义”而且它们是错误的;因为代码在一些独特的测试值下运行得很好(见下文)。所以恕我直言, Dart 编辑器 有一个 问题 .如果有人可以确认这一点,我们可以报告错误。

    我摆脱这个问题的方法是:
  • 关闭 Dart 编辑器
  • 删除 构建/目录
  • 重启 Dart 编辑器
  • 运行您的应用程序。

  • 为了测试,我对 bot 的“组件”文件进行了更改,以确保旧版本中的任何内容都不会产生副作用(例如:Define a Custom Element)。
  • tut_stopwatch.html ... 改变了颜色。
  • tut_stopwatch.dart ... 更改了计时器增量。

  • 沃利亚! 演示秒表嵌入式组件使用“粉红色”和“3 秒”增量。

    我想将这个问题与这个问题交叉链接:
  • Dart Editor equivalent of Eclipse command “Project >> Clean…”?

  • 在中型和大型项目中,保持依赖关系和交互的直接性不仅仅是。清洁命令。我认为对构建的一些可见性和更好的控制将是一种改进。

    我已经为这个练习压缩了项目文件夹。如果有人想要一份副本,我可以通过电子邮件发送。语法方面,除了修复“:host”错误外,我没有对演示代码进行任何更改。我刚刚将 2 个文件移动到 组件/文件夹。

    ~ 哈哈

    关于module - Dart App 组织子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22398519/

    相关文章:

    windows - 如何回复快速 javascript 测试

    flutter : two Textformfield in row have problem

    flutter dart add 将查询字符串转换为 map

    flutter - 在 flutter 中使用 android_alarm_manager 运行后台任务

    project-management - 您在 IT 领域的领导风格是什么?

    api - 将 Basecamp 与 JIRA 集成

    javascript - 如何在 RT 上添加插件和使用一些外部模块/文件

    css - Yii:在模块级别集成 CSS 文件

    javascript - 使用 Rollup.js 导出函数列表 - ECMA6 模块

    c++ - Visual-Studio 教程,介绍如何将所有代码放在一个目录中,并将所有 sln 和 proj 内容放在另一个目录中?