grunt-wiredep
任务输出的是相对路径的资源。我需要用绝对路径。
所以,按照这里建议的方式重新配置了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>
所以,我尝试了这个替换块。注意 正则表达式
:
replace: {
js: '<script src="/{{filePath}}"></script>'.replace(/\.\.\/public/gi, ''),
css: '<link rel="stylesheet" href="/{{filePath}}" />'.replace(/\.\.\/public/gi, '')
}
但是看起来 {{filePath}}
是在稍后被替换,因此 RegEx
没有产生预期的结果。
如何处理这种情况最理想呢?