1

我的文件夹中有.js.coffee文件/app/assets/javascripts/.coffee除非我调用,否则文件不会运行,这rake assets:precompile很痛苦,因为rake assets:clean每当我进行更改时,我都必须重新编译它们。

此外,除了源文件之外,还包含预编译的 .js 文件,这会导致双重事件处理程序和所有这些好东西。

我的理解是,如果没有预编译咖啡脚本,则应在每次请求时将其编译为 javascript,但似乎并没有这样做。我在 Firebug 中找不到加载的已编译脚本,至少我看不到它的行为。

/config/application.rb配置了以下行:

# Enable the asset pipeline
config.assets.enabled = true

还有什么要检查的?

我正在使用 Rails 3.2.3。

4

1 回答 1

3

如果您在本地机器上预编译,那么您可以将这些生成的资产提交到存储库并继续部署。无需在生产机器上编译它们。

但它引入了一个问题:现在当您更改源文件(coffescript / scss)时,应用程序不会获取更改,因为它将提供预编译文件。rake assets:clean 删除这些预编译文件。

来自https://stackoverflow.com/a/9335864/643500

如果我希望资产在生产服务器上预编译以获取每次构建的新更改,我通常会做的只是清理资产 - 当然,除非你重新预编译它们

rake assets:clean

当进行更改并且您不想在每次构建时预编译它们时

rake assets:clean
rake assets:precompile
于 2012-07-11T04:26:32.153 回答