这个问题分为两部分。第一个可以归结为Public Image Limited,“这就是你想要的东西/这就是你得到的东西。”
我将通过指向教程来简化问题:
我决定'我想将不同的元素视为项目资产(可以这么说)。所以我创建了一个子文件夹:名为:组件,位于 $ / web / 文件夹下面,每个:
这样的事情:
enchilada/
:
web/
index.html
main.dart
style.css
components/
tut_stopwatch.html
tut_stopwatch.dart
当我这样做时: Dart Editor 变得非常困惑。首先,我需要指定“我想要什么”,然后描述“我得到什么”[got]
我想要:
我:
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
这种行为的原因似乎是我移动了两个文件:
进入[sub - ] components / 文件夹,如图所示(上面)。该错误源于文件中聚合物的导入:
代码如下(Dart构建错误作为注释):
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编辑器会在每个子文件夹中为 packages / 文件夹创建一个Windows Junction link。那将是Linux或Mac上的symlink。所以包文件路径应该运行正常。
我正在寻找一种策略来获得我想要的东西?在开发中使用Dart和Dart编辑器创建不同模块的子文件夹或“功能”?在此先感谢... / w
v02 ... Added code for import polymer error.
v01 ... Original query.
答案 0 :(得分:0)
我已经解决了我相信的问题。我希望那些找到更好的方法的人也会发布更好的替代方案 cul de sac 。这个'解决方案'(?)非常复杂,虽然应用程序运行正常(如编写的那样)但我仍然在Dart Editor 问题标签中有错误。< / p>
至少我知道这会产生一个根据我正在阅读的代码工作的应用程序。我不认为我的行语法错误:
import 'package:polymer/polymer.dart';
demo code有效且Dart Editor报告错误。所以是的,我同意,“消息毫无意义”并且它们是错误的;因为代码运行得很好,有一些独特的测试值(见下文)。所以imho, Dart编辑器有一个 问题 。如果有人可以确认这一点,我们可以报告错误。
我摆脱这个问题的方式是:
为了进行测试,我对'组件'文件做了更改,以确保旧版本中没有任何内容产生副作用(例如:Define a Custom Element)。
Volia! 演示秒表嵌入式组件使用'粉色'颜色和' 3秒 '增量。
我想用这个问题交叉链接:
在中等规模和较大规模的项目中,除了 clean 命令之外,还有更多地保持依赖关系和交互。我认为一些可见性和对构建的更好控制将是一种改进。
我有ZIP-ped这个练习的项目文件夹。如果有人想要副本,我可以通过电子邮件发送。语法方面我没有修改演示代码,除了修复“:host”错误。我刚刚将2个x文件移动到 components / 文件夹。
〜 aloha
答案 1 :(得分:0)
评论太长,所以我将其发布为答案:
我读了你的答案,但这没有多大意义 几个月以来我一直与Dart一起工作(大部分时间都是聚合物),我没有看到类似的东西。
如果DartEditor显示奇怪的错误消息,您可以执行的操作是在DartEditor的应用程序目录的上下文菜单中执行'重新分析源'。
如果这不会更改错误,则错误会出现在您的代码中。
我以前从未见过,构建目录会影响您的Web目录中的错误。
Dart非常宽容,因此当DartEditor显示错误/警告/提示时应用程序运行并不奇怪,因为在DartEditor中运行的分析器不是。