指定文件路径的语法(相对和绝对)

时间:2014-03-31 14:30:46

标签: dart angular-dart dart-pub

我想知道一种指定文件路径的方法。我目前正在关注:

href="css/lib/bootstrap.css"

我发现有些人以不同的方式指定文件位置:

templateUrl: 'lib:components/bootstrap.css'

我无法理解如何使用lib:package:创建/指定自定义目录,如上所述。

关于在dart中创建自定义程序包的简要介绍非常有用。

1 个答案:

答案 0 :(得分:2)

如果要从lib目录引用文件并且路径包含程序包名称,则始终省略路径中的lib目录。包含包名称的路径隐式进入lib目录。

我从未见过你提到的lib:xxx导入样式。

导入Dart文件

根据具体情况而有所不同

  • 如果要将Dart库文件导入另一个Dart文件:

    • 相对

    import '../otherdir/somefile.dart';

只有在同一顶级包目录中引用文件时才应使用此选项 (lib目录(或binwebtestexample内的文件和文件夹之间)

  • 绝对

    import 'package:somepackage/somedir/somefile.dart';

somedir是包libsomepackage目录的子目录。
即使在同一个包中,您也可以使用这样的绝对路径。 如果要从lib(或webbin,...)目录中的文件引用web目录中的文件 最好使用这种绝对路径变体。

`import 'package:mypackage/somedir/somefile.dart';`

导入其他资源文件

不同的框架(AngularDart,PolymerDart,......)之间可能会有所不同 您也可以使用相对路径或绝对路径进行引用。

聚合物

在Polymer中,您需要为所有资源文件使用相对路径。

您需要转到顶级目录,例如web,然后再使用packages目录进行操作。

如果您的文件位于web/somedir,并且您想引用lib/otherdir中的文件,则引用该文件

href='../packages/mypackage/otherdir/somefile.css

如果您想要进一步的例子,您应该描述您的具体情况。

  • 您使用的是什么框架
  • 文件在哪里(来源/目标)
  • 导入的目的是什么(将CSS导入入口页面或Polymer元素或Angular组件,......)

如果你想从另一个包中导入一个文件,你导入的文件存储在lib目录中,你需要更高一级(我认为这是一个临时的解决方法,可能会在Polymer之前发生变化1.0发布了。)

示例:

两个文件,如

my_package1/lib/comp1/comp1.html
my_package2/lib/comp2/comp2.html

从您需要的comp1导入comp2

<link rel="import" href="../../../packages/mypackage1/comp1/comp1.html>