您的位置:首页 > 大数据 > 人工智能

使用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为生产环境
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: