我正在 Dart 中创建一个 Web 应用程序,并且正在使用 Bootstrap CSS 库。由于它是一个外部库,因此创建了一个文件夹lib/third_party
并将库放在那里。问题是我现在无法将库中的 css 文件包含在我的 html 页面中。
我应该在src=""
属性中放置什么路径以便加载文件?
我正在 Dart 中创建一个 Web 应用程序,并且正在使用 Bootstrap CSS 库。由于它是一个外部库,因此创建了一个文件夹lib/third_party
并将库放在那里。问题是我现在无法将库中的 css 文件包含在我的 html 页面中。
我应该在src=""
属性中放置什么路径以便加载文件?
你的应用程序使用的资源文件在 Dart 术语中称为资产。
Dart 编辑器中的开发服务器和通过执行启动的开发服务器pub serve --no-dart2js
目前是具有不同行为的不同程序。有计划将这两者结合起来,但就目前而言,前者与 Dart 编辑器的集成更加紧密,后者具有更多功能,尤其是在资产方面。例如,内置的开发服务器还不支持资产转换器。
(此处描述的约定也适用于pub build
)
关于如何构建包目录有一些约定。至于资产的放置位置,将当前包私有的web/
资产放在目录中,不特定于当前包或与其他包共享的资产属于文件夹asset/
。
web/
通过指定相对路径或绝对路径,可以从 html 页面引用放置的资源。根被认为是web
目录本身。
目录中的资源asset
可供应用程序使用/assets/<package_name>/
。请注意,资产一词首先以单数形式出现,然后以复数形式出现。在这种情况下,使用相对路径没有多大意义。Bootstrap 库最好放在这里。
为了完整起见,将从包中导出的 Dart 代码放在目录中lib
,并通过在路径前加上package:package_name/
as in来包含
include 'package:package_name/ … .dart';
如果一个包引用了一个它自己正在导出的文件,则它是<package_name>
当前包的名称,乍一看可能看起来很奇怪。
资料来源:
除开发服务器之间的差异外,以上所有信息均来自 http://pub.dartlang.org/doc/assets-and-transformers.html