繁体   English   中英

如何防止sprockets缓存.erb文件?

[英]how to prevent sprockets from caching a .erb file?

Sprockets gem缓存.erb文件,即使这些文件中的ruby代码在每次编译时可能会有不同的评估

例如:foo.js.erb

var foo = <%= Kernel.rand %>;

评估它一次并永远缓存。 你如何防止像这样的某些文件被sprockets缓存?

您可以将JavaScript分成库( .js.erb.js )和配置数据(例如var foo )。 然后将所有库代码留在Sprocket手中,并将您的配置放入正常的ERB视图中(可能嵌入在布局中)。

如果更适合您的体系结构,您还可以通过单独的控制器(也许是/config.js )提供配置数据。

这种方法通过将静态库与非静态数据分离来避免您的整个问题。 此外,这种方法非常适合Rails 3.1资产管道,您应该在生产部署之前预编译所有内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM