我在使用带有 filerev、usemin 和 angular 的 grunt 时遇到问题
对于这个概念,假设我们有:
bar.english.PDF 和
bar.french.PDF
filerev 工作正常,我有 bar.english.XXXXXXX.pdf 和 bar.french.XXXXX.pdf
我面临的问题是我调用这些模板的方式。我实现的方式如下:
angular.module('x').directive('x', function(COUNTRY) {
return {
restrict: 'E',
replace: true,
template: '<a href="/pdf/bar.' + COUNTRY +'.pdf" >bla bla bla</a>',
link: function(scope, element, attrs) {
//some basic stuff
}
};
});
我在这种情况下的问题是“usemin/filerev”不起作用,因为当我在代码中调用它时会生成文件名。我在 usemin/filerev 中尝试了许多不同的正则表达式,选择了 href 属性的所有内容或仅选择了其中的一部分。然而,这两种方式都不起作用。
我“确定”filerev/usemin 很好。它与我的
ng-replace
一起使用其他代码段中的标签(ps:它们不是动态名称生成的)。我已经在 SO/google 上看了一段时间了,但我仍然无法找到解决此问题的解决方案。
我想这是一个普遍问题,但如果您需要我的 gruntfile usemin/filerev 部分,请在评论中提问。
有人可以用有用的文档(yeoman/gruntjs 没有把这个场景放在他们的文档中)来引导我,比如在某处工作简单的代码或高级教程吗?。在这一点上,任何有用的资源都是很好的。
最佳答案
假设 COUNTRY 是一个 angular 常量,您如何期望 filerev/usemin 用新文件名替换该常量?为什么不直接保留文件名?我会说,只需从这些任务中排除 bar.english.PDF 和 bar.french.PDF 即可。
重新发布,因为我的评论似乎是公认的答案
关于angularjs - 带有生成的名称调用的文件加速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38855546/