使用Asset Pipeline管理rails生产环境静态资源实现步骤
2017-06-29 10:49
591 查看
1. 修改项目中指向静态资源文件的链接
a) 访问静态资源文件
<%= stylesheet_link_tag "application", media: "all" %> <%= javascript_include_tag "application" %> <%= image_tag "icons/rails.png" %>
b) CSS 和 ERB
只要给 CSS 文件添加 .erb 扩展名(例如 application.css.erb),就可以在 CSS 规则中使用 asset_path 等辅助方法。.class { background-image: url(<%= asset_path 'image.png' %>) }
c) CSS 和 Sass
在使用 Asset Pipeline 时,静态资源文件的路径都必须重写image-url("rails.png") #回报 url(/assets/rails.png) image-path("rails.png") #回报 "/assets/rails.png"
也可以使用更通用的形式:
asset-url("rails.png") #回报 url(/assets/rails.png) asset-path("rails.png") #回报 "/assets/rails.png"
d) JavaScript/CoffeeScript 和 ERB
$('#logo').attr({ src: "<%= asset_path('logo.png') %>" });
2. 预编译
a) 预处理命令
rake assets:precompile
执行后项目public下生成asset目录,所有经过预编译处理的静态文件存放在这里。Rails服务默认不做静态资源管理,如果需要可以将config/environments/下生产环境配置文件production.rb中的config.serve_static_assets设置为true,也可以交给Web服务器(nginx)处理。
b) app/asset目录如下
c) Public下asset目录如下
3. 启动生产环境
启动命令:rails s –e production
Nginx配置:
rails_env production; #修改rails为生产环境
相关文章推荐
- Rails的静态资源管理(四)—— 生产环境的 Asset Pipeline
- Rails的静态资源管理(二)—— 如何使用 Asset Pipeline
- Rails的静态资源管理(五)—— 自定义 Asset Pipeline
- Rails的静态资源管理(一)——Asset Pipeline是什么
- Rails的静态资源管理(三)—— 开发环境的Asset Pipelin
- 使用git服务器实现生产环境应用服务器代码更新管理的方案
- 使用mysqldump模拟生产环境实现mysql数据库的备份与还原
- Kubernetes用户指南(三)--在生产环境中使用Pod来工作、管理部署
- Apache Maven 使用 profile 和 filtering 实现多种环境下的资源配置管理
- Apache Maven 使用 profile 和 filtering 实现多种环境下的资源配置管理
- Apache Maven 使用 profile 和 filtering 实现多种环境下的资源配置管理
- 使用Nginx + unicorn搭建ruby on rails的生产环境
- 使用passenger nginx 配置 rails 3.1 生产环境
- 生产环境使用 Docker 部署 Rails 应用 Puma 和 Sidekiq
- AD域环境下利用Supercrypt实现普通用户安装/运行/更新使用管理权限的方法
- Kubernetes用户指南(三)--在生产环境中使用Pod来工作、管理部署
- nginx+apache实现动静态页面分离的web生产环境(二)
- nginx+apache实现动静态页面分离的web生产环境(一)
- 使用C++11新特性来实现RAII进行资源管理
- require.js+backbone 使用r.js 在本地与生产环境 一键压缩的实现方式