我像这样创建了我的库:
// web/com/jessewarden/workoutlogger/workoutloggerlib.dart
library workoutloggerlib;
import 'dart:async';
import 'dart:html';
import 'package:polymer/polymer.dart';
part "types/WorkoutTypes.dart";
part "vo/Exercise.dart";
part "vo/Set.dart";
part "vo/Workout.dart";
part "views/SetView.dart";
part "views/SetView.html";我的SetView.dart:
part of workoutloggerlib;
@CustomTag('set-view')
class SetView extends PolymerElement
{
@published
Set set;
SetView.created() : super.created();
}并且它是关联的HTML:
<polymer-element name="set-vew" attributes="count">
<template>
<div>
<h3>{{set.name}}</h3>
<span class="label label-primary">Goal</span>
<div class="input-group">
<span class="input-group-addon">Reps</span>
<input type="text" class="form-control disabled" value={{set.goalReps}}>
</div>
<div class="input-group">
<span class="input-group-addon">Weight</span>
<input type="text" class="form-control" value="{{set.goalWeight}}">
<span class="input-group-addon">lbs</span>
</div>
</div>
</template>
<script type="application/dart" src="SetView.dart"></script>
</polymer-element>然而,当她编译的时候,我得到了:
'http://somelocalserver/WorkoutLogger/web/com/jessewarden/workoutlogger/views/SetView.dart': error: line 1 pos 6: url expected
part of workoutloggerlib;
^: http://somelocalserver/WorkoutLogger/web/com/jessewarden/workoutlogger/views/SetView.dart
Internal error: 'http://somelocalserver/WorkoutLogger/web/com/jessewarden/workoutlogger/views/SetView.dart': error: line 1 pos 6: url expected
part of workoutloggerlib;
^
Internal error: 'http://somelocalserver/WorkoutLogger/web/com/jessewarden/workoutlogger/views/SetView.dart': error: line 1 pos 6: url expected
part of workoutloggerlib;
^如果我手动为每个文件导入类,放弃我的库,它会工作得很好。显然,这并不是我们想要的,因为代码不能以这种方式管理,具有更紧密的依赖关系,并且更难重构。
发布于 2013-12-22 06:01:46
我不确定这是否仍然有效,但我读到这是一个很好的实践,使每个组件都有自己的库(库不是打包的-你可以在一个包中有尽可能多的库)。我总是这样做,我从来没有遇到过这样的问题。你可以看一下来看一些例子
值得一提的是,我们必须使用一个单独的包,将示例页面符号链接到。
目前不可能在examples目录(只有web)中构建页面,也不可能在web目录中创建页面,也不可能在lib中创建元素(在同一个包中),因为必要的聚合物转换器设置会发生冲突。要么在web中也有元素,要么在lib中有元素,在web中有自己的包中的页面,然后用lib中的元素导入包。
你有一个拼写错误-可能只是在你粘贴的代码中-但不管怎样
<!-- should be name="set-view" -->
<polymer-element name="set-vew" attributes="count">https://stackoverflow.com/questions/20723461
复制相似问题