grunt-usemin の構成と使用のさまざまなポイントでパスがどのように処理されるかを理解するのに多くの問題があります。
次のレポ レイアウトがあります。ここで、レポ ルートは Web アプリ ルートにもなります。
/dashboard/index.html
/Gruntfile.js
/vendor/...some 3rd party CSS and JS...
したがって、index.html ファイル -> somedomain.com/dashboard/index.html です。
index.html ファイルには、/vendor フォルダーのいくつかの CSS および JS アセットが含まれています。ビルド出力をビルド フォルダーに配置するように grunt を構成しました。
/build/dashboard/index.html
index.html ファイルでは、すべての CSS リンクと JS スクリプト タグを usemin ブロックで囲んでいます。
<!-- build:css(.) app.min.css -->
<!-- build:js(.) app.min.js -->
「/vendor/backbone.js」のスクリプトタグが適切な場所で見つけられるように、「(.)」で「代替検索パス」を指定する必要がありました。それまでは、/dashboard/vendor/backbone.js を探していました。
CSS/JS アセットの処理の出力を build/dashboard/app.min.css および build/dashboard/app.min.js に出力し、単純な相対 "app.min. css/js」のパス。
問題は、grunt-usemin が、両方のコンテキストに指定している「app.min.*」パスを使用しているように見えることです。これにより、それらが連携できなくなります。
1)ファイルを作成する目的で、パスをビルドディレクトリに対する相対パスとして扱います。ファイルは build/app.min.css と build/app.min.js に配置されます。
2) 新しいリンク/スクリプト タグを生成する目的で、パスを index.html ファイルに対する相対パスとして扱います。ブラウザは build/dashboard/index.html をロードし、次に build/dashboard/app.min.css にマップされる「app.min.css」をロードしようとします。
解決策はありますか?