我正在Rails中启动一个新项目,它看起来像是一个应用程序.js list 文件对我引用的Java脚本做了一些有趣的事情——它是否将这些文件缓存为assets资源 管道的一部分?

事情是这样的.我添加了一个名为jquery的javascript文件.自动调整大小.js将其链接到vendor/assets/javascripts文件夹,然后在应用程序中引用该文件.js list 如下:

//= require jquery.autoresize.js 

然后我启动了rails服务器.但是在我的应用程序中浏览之后,我意识到我不小心添加了错误版本的jquery.自动调整大小.js文件.因此,我删除了该文件,然后将正确的版本添加到vendor/assets/javascripts文件夹中.但是,令我恐惧的是,当我重新加载页面时,它仍在加载旧的javascript文件.

我try 清空浏览器缓存,然后退出并重新启动Rails服务器,但没有成功.我通过简单地重命名我的javascript文件并引用新名称,一起破解了一个解决方案,效果很好.但必须有更好的解决方案.

新的assets资源 管道是否以某种方式缓存了您引用的文件?如果是,我如何清除缓存?谢谢你的帮助!

推荐答案

我想我们讨论的是生产环境.

在生产环境中更改任何Java脚本或样式表时,需要运行rake assets:precompile;此任务编译并压缩各种.js和.css文件并创建应用程序.js和应用程序.由视图加载的css文件.

如果将jquery.autoresize.js替换为older timestamp版本,预编译步骤可能会跳过它,认为编译后的版本是最新的.您可以通过先运行rake assets:clean来避免这种情况,强制它从头开始重建public/assets目录中的所有内容.

Ruby-on-rails相关问答推荐

无法在 macos Catalina 上安装 ffi -v '1.9.18'

Bundler:您必须使用 Bundler 2 或更高版本与此锁定文件

Rails:如何修复“‘生产’环境缺少 secret_key_base”

带有 master.key 的 Rails 5.2 - Heroku 部署

Gem::LoadError: 无法激活 pg (~> 0.18),已经激活 pg-1.0.0

如何从设计中删除/禁用注册

Rails 5:如何从数据库中删除列?

如何更改 Heroku 应用程序的 DATABASE_URL

Rails 服务器仍在新打开的 docker 容器中运行

Ruby - 合并两个数组并删除重复的值

ActiveRecord OR 查询哈希表示法

“分配分支条件大小太高”是什么意思以及如何解决?

将 Rails 服务器绑定到 0.0.0.0 能给你带来什么?

ActiveRecord where field = ?可能值的数组

从 Rails 控制台发送邮箱

使用 heroku 和 namecheap 设置自定义域

Rails 4:如何重置测试数据库?

当我运行Bundle 安装时,Nokogiri '无法构建 gem 本机扩展'

FactoryGirl + Faker - 为数据库种子数据中的每个对象生成相同的数据

Rspec 3 如何测试闪存消息