angularjs - 带有生成的名称调用的文件加速

标签 angularjs pdf caching gruntjs grunt-usemin

我在使用带有 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/

相关文章:

javascript - 允许从 Angular.js 对 Delicious feed 进行跨域请求

Java iText : No EOF marker after adding watermark

c# - 在 C# 中从资源中获取二进制文件

android - 离线时 webView 不显示网站

javascript - angular.forEach 解决嵌套的 promise

angularjs - 使用具有 "then"函数的对象解析 Promise

java - 正如 Joshua Bloch 在有效 Java 中所建议的那样,缓存哈希码如何在 Java 中工作?

azure - 在 Service Fabric 集群上发布应用程序后 HttpContext.Session 为空

arrays - 在ng-repeat中按具有整数值的属性过滤对象数组

javascript - PDF.js 在 Firefox 中打开 pdf,但不能在 Chrome/Chromium 或扩展中打开