【问题标题】:Completely disabling Sprockets完全禁用 Sprockets
【发布时间】:2021-05-30 19:44:13
【问题描述】:

我正在尝试使用 Ruby 3.0 项目从 Rails 6.1.3.2 中完全删除 Sprockets

Stackoverflow 的一个问题/答案说我需要从 Gemfile 中删除 sass-rails gem。

根据 sass-rails gem Github 存储库:

This gem provides official integration for Ruby on Rails projects with the Sass stylesheet language.

那么,如果我想编写 .scss 样式表而不是 .css 样式表,为什么要删除它?

【问题讨论】:

  • sass-rails gem 在 Sprockets 资产管道中支持 Sass。因此,如果您删除 Sprockets,则没有必要。假设您只迁移到 webpack,您需要在包中包含 node-sass 并配置 sass-loader 以处理 .scss 文件。
  • 谢谢,我会调查的。我只想使用 webpack。
  • @rmlockerd node-sass 已被贬低。 sass-lang.com/blog/libsass-is-deprecated
  • 知道了,谢谢。我只需要删除 sass-rails gem 并执行 yarn add sass-loader

标签: ruby-on-rails sass sass-rails


【解决方案1】:

sass-rails gem 实际上在很久以前就被贬低了。它是古老的 Ruby SASS 编译器的 rails (sprockets) 包装器,速度极慢。它在很久以前被 sassc-rails 取代,它使用了 libsass(用 C 语言编写),直到它也被取消了。您不需要或不希望它包含在您的捆绑包中。

SASS 的主要实现现在是Dart Sass。您可以通过 Node.js、Homebrew、Chocolate、Scout-App 等安装它。您可以通过 Sass-loader 包将其与 webpack 集成。

它支持新的模块系统@use 等功能,取代了开始出现在尖端框架中的有问题的@include,并且与旧的 Ruby 编译器相比,速度快得惊人。

【讨论】:

  • 按照@rmlockerd 的建议,通过 SASS-loader 集成它是可行的。 yarn add sass-loader,然后我删除了 sass-rails gem。
猜你喜欢
  • 2014-04-22
  • 2012-05-03
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多