使用ImportMap后,如何在Rails 7中引入CSS/SCSS文件?
Rails 7 引入第三方样式(以 Froala Editor 为例)
方法1:通过布局直接引入CDN CSS
不用下载本地文件,直接在布局文件(比如 app/views/layouts/application.html.erb)里添加标签加载官方CDN的CSS:
<%= stylesheet_link_tag "application", "FROALA_CDN_CSS地址", "data-turbo-track": "reload" %>
把占位符替换成Froala官方文档里的最新CSS CDN地址就行,这种方式不用维护本地文件,版本更新也更省心。
方法2:用 cssbundling-rails 导入npm包
如果你的项目启用了 cssbundling-rails(Rails7 默认可选的前端方案),可以直接通过npm安装后导入:
- 终端执行安装命令:
npm install froala-editor --save-dev
- 在你的主样式文件(比如
app/assets/stylesheets/application.scss或application.tailwind.css)里导入:
@import 'froala-editor/css/froala_editor.pkgd.min.css';
之后运行 npm run build:css 完成样式打包,Rails会自动把第三方样式整合到编译后的文件中。
方法3:用 importmap-rails 自动下载并引用
ImportMap 不仅能处理JS,也可以通过pin命令自动下载Froala的资源,包括CSS:
- 终端执行pin命令:
./bin/importmap pin froala-editor --download
这个命令会把Froala的JS和CSS都下载到 vendor/javascript 目录,你可以手动把CSS文件移到 vendor/stylesheets,或者直接在布局里引用:
<%= stylesheet_link_tag "application", "/assets/froala-editor/css/froala_editor.pkgd.min.css", "data-turbo-track": "reload" %>
相比手动下载,这种方式能自动同步资源版本,更高效。
内容的提问来源于stack exchange,提问作者Adrian
相关产品推荐
相关产品推荐

