私は、vue-cli webpackテンプレートに基づいて単一ページアプリケーションを開発しています。静的資産も使用する必要があるため、スタイルシートでそれらを参照する必要があります。vue.jsアプリケーション内の静的資産へのパス
公式ドキュメントには、次のような絶対パスを使用することをお勧めします:
background-image: url('/assets/images/lo/example2.svg');
問題は、静的な資産がVUE-ローダーによって処理され、自分自身をWebPACKのため、URLが勝ったことがないということであり、最終的な出力スタイルシートに正しく設定されている必要があります。 webpack URLローダによって処理されるすべてのアセットは、あなたのpublicPath設定に応じて正しい相対URLを取得します。静的資産にも同じ効果が望まれます。
静的資産をvue.jsベースのアプリケーションと組み合わせて使用する方法はありますか?
更新
研究し、試行錯誤の多くの後、私は、最終的なスタイルシートと次のindex.htmlへのルートフォルダ内のスクリプトバンドルを置くことにしました。生成されたパスは正しく動作します。私はスクリプトとスタイルシートのサブフォルダを好みます(ファイルが1つしかないにもかかわらず)。しかし、私は一貫性のある有効な成果物を生成するビルドプロセスを持っています。
ありがとうございました。私はすでにこの手法を使用しています。問題は、自分のvueコンポーネント内のCSSルールで絶対パスを使用する必要があることです。このフォルダは正しい宛先に直接コピーされるので、最終的なstyle.css内のパスは相対(../assets/images/lo/example.svg)である必要があります。どのようにそれを達成するためのアイデアはありますか? – jimmy
なぜCSSルールで絶対パスを使用する必要がありますか? – WaldemarIce
公式ギフトブックからの推薦です。これらのパスを相対パスに変更すると、残念なことに、参照されたアセットを解決できないため、ビルドプロセスはエラーで終了します。 – jimmy