![](/img/trans.png)
[英]How to display loaded CSS/JS Rails assets in production as is in development mode?
[英]Rails 3 & assets pipeline in development/production mode
在生产服务器上预编译资产非常慢。 所以我决定在开发机器上重新编译它们,并通过jammit
将资源上传到Amazon S3。 一切都完成了,但是我有一些负面问题:
public/assets
目录包含在git
控件中。 因为如果生产服务器上的public/assets
目录为空,则失败 application.js
包含在HTML中作为压缩,那么我有重复的js代码。 更改js不会产生任何影响,因为预编译的application.js
中断此代码。 这样我的开发过程包括以下步骤:
jammit-s3
资源上传到S3 我的问题是:
application.js
如果我在public/assets
目录中有它? public/assets
目录? 资产只能在S3服务器上。 对于问题一,我不知道除了运行之外的永久解决方案:
bundle exec rake assets:clean
在切换回开发模式之前。 我很想知道您是否可以在不关闭整个资产管道的情况下忽略开发中的资产。
在production.rb中,您可以选择第二个问题:
# Enable serving of images, stylesheets, and JavaScripts from an asset server
config.action_controller.asset_host = "http://assets.example.com"
然后它应该忽略您的资产目录,因为它依赖于远程主机。 希望有所帮助。
我通过在gitignore中包含资产目录来解决此问题,并且仅排除了一个文件-public public/assets/manifest.yml
和生产服务器现在可以正常工作,即config.action_controller.asset_host = "http://assets.example.com"
可以工作。 它只需要manifest.yml
文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.