Javascript 如何防止每次预编译供应商资产?

Javascript 如何防止每次预编译供应商资产?,javascript,ruby-on-rails,heroku,ruby-on-rails-3.2,asset-pipeline,Javascript,Ruby On Rails,Heroku,Ruby On Rails 3.2,Asset Pipeline,我预编译了所有Javascript文件,以便可以从其他页面中调用它们。然而,现在Rails每次都会预编译供应商中的所有文件,即使它们很少更改。如何让它在预编译时忽略供应商,而只使用以前预编译的供应商文件 以下是我在production.rb中的代码: config.assets.precompile += ['*.js'] 更新: 我希望它忽略供应商,原因有二: 预编译所有文件大约需要5分钟,所以我只希望它使用前面的文件 更糟糕的是,它无法预编译其中一个文件,因此我必须自己重做该文件 如何加快

我预编译了所有Javascript文件,以便可以从其他页面中调用它们。然而,现在Rails每次都会预编译供应商中的所有文件,即使它们很少更改。如何让它在预编译时忽略供应商,而只使用以前预编译的供应商文件

以下是我在production.rb中的代码:

config.assets.precompile += ['*.js']
更新: 我希望它忽略供应商,原因有二:

  • 预编译所有文件大约需要5分钟,所以我只希望它使用前面的文件
  • 更糟糕的是,它无法预编译其中一个文件,因此我必须自己重做该文件
    如何加快速度并跳过这些文件?

    这是一个很好的特性,每当静态文件发生更改时,都应该对其进行预编译以获得更快的性能

    只需输入以下代码即可跳过它:

    config/environmets/production.rb

    config.assets.compile = true
    

    现在,它不会每次都进行预编译,而是强制执行实时编译。

    如果文件没有更改,资产管道应该生成相同的预编译文件,并在文件名中添加相同的哈希。你不想编译这些文件,因为它们没有改变吗?你尝试过什么吗?@steakchaser,请参阅更新。我没有一个好的答案给你,但本质上,您需要做的是找出如何让管道只编译已更改的资产-通过一些自定义
    config.assets.precompile
    或通过自定义
    rake
    任务。首先,也许你可以看看/使用这个gem:我也看到了这篇文章,它展示了许多定制的
    Proc
    s人们用来控制编译哪些资产。这不是你问题的直接解决方案,但如果上面的gem不起作用,它可能会帮助你获得一些想法。我已经有了。我不希望它每次都重做供应商中的所有文件。