Sinatra Asset Pipeline 使用教程

Sinatra Asset Pipeline 使用教程

sinatra-asset-pipelineAn asset pipeline for Sinatra based on Sprockets.项目地址:https://gitcode.com/gh_mirrors/si/sinatra-asset-pipeline

项目介绍

Sinatra Asset Pipeline 是一个基于 Sprockets 的资产管道实现,专为 Sinatra 设计。它支持在开发环境中动态编译资产,以及在生产环境中预编译资产。设计目标是提供良好的默认设置,以便将您的 Sinatra 应用程序与 Sprockets 集成。

项目快速启动

安装

首先,通过 RubyGems 安装 Sinatra Asset Pipeline:

gem install sinatra-asset-pipeline

或者将其添加到您的项目的 Gemfile 中:

gem 'sinatra-asset-pipeline', '~> 2.2.0'

配置

在您的应用程序的 Rakefile 中添加以下内容:

require 'sinatra/asset_pipeline/task'
require './app'

Sinatra::AssetPipeline::Task.define! App

这将使您的应用程序在 public/assets 路径下提供 assets 文件夹中的资产。

使用

在部署应用程序时,您可以使用预编译 Rake 任务来预编译资产:

RACK_ENV=production rake assets:precompile

应用案例和最佳实践

经典风格

如果您的应用程序以经典风格运行 Sinatra,您可以如下定义 Rake 任务:

Sinatra::AssetPipeline::Task.define! Sinatra::Application

自定义

在最简单的形式中,只需在您的应用程序中注册 Sinatra::AssetPipeline 扩展:

require 'sinatra/asset_pipeline'

class App < Sinatra::Base
  register Sinatra::AssetPipeline

  get '/' do
    'hi'
  end
end

如果您的应用程序不遵循默认设置,可以进行如下自定义:

require 'sinatra/asset_pipeline'

class App < Sinatra::Base
  set :assets_precompile, %w(app.js app.css *.png *.jpg *.svg *.eot *.ttf *.woff *.woff2)
  set :assets_paths, %w(assets)
  set :assets_host, '<id>.cloudfront.net'
  set :assets_prefix, 'custom-prefix'
  set :assets_protocol, :http
  set :assets_css_compressor, :sass
  set :assets_js_compressor, :uglifier

  register Sinatra::AssetPipeline

  set :precompiled_environments, %i(staging uat production)

  get '/' do
    'hi'
  end
end

典型生态项目

Sinatra Asset Pipeline 与 Sprockets 紧密集成,Sprockets 是一个强大的资产管理库,支持多种预处理器和压缩器。以下是一些与 Sinatra Asset Pipeline 相关的典型生态项目:

  • Sprockets: 核心资产管理库,支持多种预处理器和压缩器。
  • Sass: 用于编写高效和可维护的 CSS。
  • Uglifier: 用于压缩 JavaScript 代码。
  • Sinatra: 轻量级的 Ruby Web 框架,Sinatra Asset Pipeline 是其扩展之一。

通过这些工具和库的结合使用,您可以高效地管理和优化您的 Sinatra 应用程序的资产。

sinatra-asset-pipelineAn asset pipeline for Sinatra based on Sprockets.项目地址:https://gitcode.com/gh_mirrors/si/sinatra-asset-pipeline

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗蒙霁Ella

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值