このgrunt-wiedep
タスクは、アセットの相対パスを出力します。代わりに絶対パスが必要です。したがって、replace
ここで提案されているようにブロックを再構成しました: https://github.com/stephenplusplus/grunt-wiredep/issues/46
しかし、replace
提案どおりにブロックを指定した後、スクリプト参照として次のものが追加されます。ご覧のとおり、それは間違っています。
<script src="/../../../public/vendors/jquery/dist/jquery.js"></script>
<script src="/../../../public/vendors/angular/angular.js"></script>
<script src="/../../../public/vendors/angular-resource/angular-resource.js"></script>
<script src="/../../../public/vendors/angular-route/angular-route.js"></script>
私が欲しいのは、代わりにこれです:
<script src="/vendors/jquery/dist/jquery.js"></script>
<script src="/vendors/angular/angular.js"></script>
<script src="/vendors/angular-resource/angular-resource.js"></script>
<script src="/vendors/angular-route/angular-route.js"></script>
だから、私は自分の置換ブロックのためにこれを試しました。次の点に注意してRegEx
ください。
replace: {
js: '<script src="/{{filePath}}"></script>'.replace(/\.\.\/public/gi, ''),
css: '<link rel="stylesheet" href="/{{filePath}}" />'.replace(/\.\.\/public/gi, '')
}
しかし、{{filePath}}
は後で置き換えられているように見えるためRegEx
、期待どおりの結果が得られません。
そのような状況を処理する理想的な方法は何でしょうか?