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
現在、動作が異なる別のプログラムです。この 2 つを統合する計画がありますが、現在のところ、前者は Dart Editor とより緊密に統合されており、後者は特にアセットに関してより多くの機能を備えています。たとえば、組み込みの開発サーバーはまだアセット トランスフォーマーをサポートしていません。
(ここで説明する規則は にも適用されますpub build
)
パッケージ ディレクトリの構造には規則があります。アセットの配置先については、現在のパッケージで非公開にするアセットはディレクトリに配置し、web/
現在のパッケージに固有でないアセットや他のパッケージと共有するアセットはフォルダに属しますasset/
。
に配置されたリソースはweb/
、相対パスまたは絶対パスを指定して、html ページから参照できます。ルートはweb
ディレクトリ自体と見なされます。
asset
ディレクトリに配置されたリソースは、 の下のアプリケーションで使用できます/assets/<package_name>/
。アセットという単語が最初に単数形で表示され、次に複数形で表示されることに注意してください。この場合、相対パスを使用してもあまり意味がありません。Bootstrap ライブラリはここに配置するのが最適です。
完全を期すために、パッケージからエクスポートされた Dart コードはディレクトリに配置され、次のようにlib
パスの前にプレフィックスを付けて含まれますpackage:package_name/
include 'package:package_name/ … .dart';
パッケージがそれ自体がエクスポートしているファイルを参照している場合、<package_name>
は現在のパッケージの名前であり、最初は奇妙に思えるかもしれません。
ソース:
開発サーバー間の違いを除く上記のすべての情報は、 http://pub.dartlang.org/doc/assets-and-transformers.htmlからのものです。