【问题标题】:Syntax for Specifying file path (relative and absolute)指定文件路径的语法(相对和绝对)
【发布时间】:2014-05-10 22:54:51
【问题描述】:

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

href="css/lib/bootstrap.css"

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

templateUrl: 'lib:components/bootstrap.css'

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

关于在 dart 中创建自定义包的简介会很有帮助。

【问题讨论】:

    标签: dart angular-dart dart-pub


    【解决方案1】:

    当您想要引用来自lib 目录的文件并且路径包含包名时,您始终在路径中省略lib 目录。包含包名的路径会隐式进入lib 目录。

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

    导入 Dart 文件

    根据上下文不同

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

      • 相对

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

    仅当您引用同一顶级包目录中的文件时才应使用它 (lib 目录内(或binwebtestexample 内的文件和文件夹之间)

    • 绝对

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

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

    `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
    

    comp2 导入comp1 你需要

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

    【讨论】:

    • 感谢甘特的详尽回答。我在 templateUrl 下的 'github.com/vsavkin/angulardart-sample-app/blob/master/lib/…' 中看到了这样的用法。我仍然想知道,我们是否需要遵循某种文件夹结构才能使用import 'package:mypackage/somedir/somefile.dart';。或者某个配置,我无法使用这种语法。
    • 包 URI 仅适用于包的 lib 目录内的文件(但您在实际导入路径中省略了 lib 部分)
    • 那是自定义实现。他有一些代码将以lib:开头的URL替换为以packagesgithub.com/vsavkin/angulardart-sample-app/blob/master/lib/…开头的URL
    • 在 HTML 中没有 package: 但包含 packages/ 的 href 也只能引用 lib 目录中的文件。正如我上面写的,你应该提供一个你想要的目录结构的具体例子,我们可以更容易地讨论这样一个例子。
    • 嗯,我没有任何具体的情况想得到回答。我只是在了解基础知识。
    猜你喜欢
    • 2014-01-15
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2018-09-30
    • 2018-03-07
    • 2013-07-14
    • 2010-12-17
    • 1970-01-01
    相关资源
    最近更新 更多