Propshaft 开源项目教程

Propshaft 开源项目教程

【免费下载链接】propshaft Deliver assets for Rails 【免费下载链接】propshaft 项目地址: https://gitcode.com/gh_mirrors/pr/propshaft

1. 项目介绍

Propshaft 是一个为 Rails 设计的资产管道库。它旨在适应现代开发环境,其中资产的捆绑和压缩不再是首要任务。Propshaft 提供了一个简单且高效的资产管道,适用于那些使用 Node.js 打包工具处理 JavaScript 和 CSS 的 Rails 项目。

Propshaft 的主要特点包括:

  • 可配置的加载路径:可以从应用程序和 gem 中的多个目录加载资产。
  • 摘要标记:在生产环境中,所有资产都会被复制或编译,并带有摘要哈希,以便使用长过期缓存头提高性能。
  • 开发服务器:在开发环境中,无需预编译资产,可以通过开发服务器直接提供资产。
  • 基本编译器:提供简单的输入到输出编译器,默认用于将 CSS 中的 url(https://blog.csdn.net/asset) 函数转换为 url(https://blog.csdn.net/digested-asset)

2. 项目快速启动

安装

对于 Rails 8 项目,Propshaft 是默认的资产管道。对于 Rails 7 项目,可以使用以下命令启动新项目并使用 Propshaft:

rails new myapp -a propshaft

对于现有项目,请参考升级指南进行逐步安装。

配置

config/application.rb 中配置资产路径:

config.assets.paths << Rails.root.join('app', 'assets', 'stylesheets')

使用

在视图中使用资产路径助手:

<%= image_tag 'logo.svg' %>
<%= javascript_include_tag 'application' %>
<%= stylesheet_link_tag 'application' %>

预编译

在生产环境中,运行以下命令预编译资产:

rails assets:precompile

3. 应用案例和最佳实践

案例1:使用 Propshaft 管理静态资源

假设你有一个 Rails 项目,需要管理大量的静态资源(如图片、CSS 和 JavaScript 文件)。使用 Propshaft,你可以轻松地将这些资源组织在 app/assets 目录下,并通过配置加载路径来管理它们。

config.assets.paths << Rails.root.join('app', 'assets', 'images')
config.assets.paths << Rails.root.join('app', 'assets', 'stylesheets')
config.assets.paths << Rails.root.join('app', 'assets', 'javascripts')

案例2:结合 Node.js 打包工具

如果你的项目已经使用 Node.js 打包工具(如 Webpack 或 Vite)来处理 JavaScript 和 CSS,Propshaft 可以作为补充工具,负责资产的摘要标记和提供服务。

npm install webpack --save-dev

config/application.rb 中配置 Propshaft:

config.assets.paths << Rails.root.join('public', 'assets')

4. 典型生态项目

1. jsbundling-rails

jsbundling-rails 是一个用于在 Rails 项目中集成现代 JavaScript 打包工具的 gem。它与 Propshaft 结合使用,可以实现高效的 JavaScript 打包和资产管理。

2. cssbundling-rails

cssbundling-rails 是一个用于在 Rails 项目中集成现代 CSS 打包工具的 gem。它与 Propshaft 结合使用,可以实现高效的 CSS 打包和资产管理。

3. importmap-rails

importmap-rails 是一个用于在 Rails 项目中使用 ES 模块的 gem。它与 Propshaft 结合使用,可以实现高效的 JavaScript 模块管理和资产提供。

通过这些生态项目,Propshaft 可以与现代前端工具链无缝集成,提供一个高效且灵活的资产管道解决方案。

【免费下载链接】propshaft Deliver assets for Rails 【免费下载链接】propshaft 项目地址: https://gitcode.com/gh_mirrors/pr/propshaft

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

抵扣说明:

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

余额充值