Ruby on rails Rails资产在开发问题上预编译

Ruby on rails Rails资产在开发问题上预编译,ruby-on-rails,Ruby On Rails,我在我的开发环境中预编译了资产(错了!)现在对js/css文件所做的任何更改都不会反映在本地浏览站点上。 我从公共目录中删除了资产文件夹,但是没有可用的css/js。 我怎样才能摆脱这个? 作为一个临时解决方案,我刚刚将项目克隆到新目录中,它可以工作。如果我理解正确,通常情况下,当您在默认情况下预编译资产时,目录是在public目录中创建的。要收回资产,可以再次预编译 > > tMP目录中,也可以考虑删除。 稍后,您可以使用$(bundle exec)rake assets:precompi

我在我的开发环境中预编译了资产(错了!)现在对js/css文件所做的任何更改都不会反映在本地浏览站点上。 我从公共目录中删除了资产文件夹,但是没有可用的css/js。 我怎样才能摆脱这个?
作为一个临时解决方案,我刚刚将项目克隆到新目录中,它可以工作。

如果我理解正确,通常情况下,当您在默认情况下预编译
资产时,
目录是在
public
目录中创建的。要收回资产,可以再次预编译

<> > <代码> > tMP目录中,也可以考虑删除。

稍后,您可以使用
$(bundle exec)rake assets:precompile
$(bundle exec)rake assets:clean
组合使用,而不是
$rm-r public/assets
,这样新资产将以rake方式生效

环境中提交后查看新更改的单行命令

$ RAILS_ENV=(environment) rake assets:clean assets:precompile

但一般来说,开发中的资产并不意味着要在生产模式下使用,因此使用
RAILS_ENV=production运行previous并在生产模式下启动本地服务器将被视为一种检查方式(但不是确保)如果您的资产将在实际生产中部署时使用。

问题是:为什么您需要在
开发环境中进行
资产预编译
?它不应该这样工作

asset pipeline
允许在开发中使用JS文件的未压缩、未统一版本。它还可以在每次刷新浏览器时重新加载它们,因此您可以轻松地开发应用程序

不过,在
生产中
,资产管道会将您拥有的JS文件/资产预编译为一个单一的小型文件。这允许在客户端上获得更好的性能,因为文件更小,并且在一个请求中获取


因此,在
开发中预编译资产根本没有意义。

请添加更多详细信息。我认为当您在js或css中更改代码时,您需要再次预编译资产。使用rake资产:clean删除预编译资产是的,我理解预编译资产不适用于开发。我错了。我如何撤销它并使它像以前一样正常工作。一旦我清理了它,我就不需要再次预编译它,对吗?把它看作:代码,清理,预编译,看。。代码、干净、预编译、外观。。代码,清理,预编译,看..我不想对js中的每一个更改都进行预编译。我怎样才能摆脱这个?我希望它恢复到我更改js的正常方式,并且随着页面的刷新,它会反映在页面上。这不是一个好主意,因为您可以在
config/environments/production.rb
中将
config.assets.compile=false
更改为
config.assets.compile=true
,对于生产,我肯定会使用预编译。