如何在 Rails 7 中导入 Tailwind 插件
How to import Tailwind plugin in Rails 7
我正在尝试在我的 Rails 7 应用程序中使用 npm 包 'tailwindcss-flip'。
软件包文档具有以下说明:
安装tailwindcss-flip包:
Install using NPM
npm install tailwindcss-flip --save-dev
使用 Yarn 安装
yarn add tailwindcss-flip --dev
将插件添加到您的 tailwind.conf.js 文件:
plugins: [require("tailwindcss-flip")]
我的问题是,我确实将包固定在 importmap 中,但出现以下错误:
Error: Cannot find module 'tailwindcss-flip'
知道这在 Rails 7(无 Webpacker)中如何工作。
我假设您正在使用 tailwindcss-rails
gem。即使您 运行 rails new app --css tailwind
,这也是默认设置。它使用独立的 tailwind 可执行文件 https://tailwindcss.com/blog/standalone-cli,它与第一方插件捆绑在一起。所以 @tailswindcss/*
中的任何插件都应该开箱即用。
要使用任何其他 tailwind 插件,您必须 运行 完整的 node.js 版本的 tailwind。 Rails 7 方法是使用 cssbundling-rails
.
# Gemfile
# remove gem 'tailwindcss-rails'
gem 'cssbundling-rails'
bin/bundle install
bin/rails css:install:tailwind
将构建脚本添加到 package.json
"scripts": {
"build:css": "tailwindcss -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css --minify"
},
之后添加任何你喜欢的插件。你的情况:
yarn add tailwindcss-flip --dev
将插件添加到 tailwind 配置中。默认情况下它是 tailwind.config.js
(独立 tailwindcss-rails
版本使用 config/tailwind.config.js
,您不再需要它)
plugins: [
require("tailwindcss-flip"),
],
在您的布局中,您应该只有 application
个样式表。删除 stylesheet_link_tag "tailwind"
<%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
要开始编译您的 css,运行 来自 package.json
的构建脚本
yarn build:css --watch
这应该输出 app/assets/builds/application.css
文件。它由 rails 资产管道(链轮)提供服务。如果您遇到 sprocket 错误,请重新启动一切,清除缓存,检查 app/assets/config/manifest.js
以包含 //= link_tree ../builds
.
如果您想使用 importmap,还有另一种选择。
1 - 引脚需要库
$ ./bin/importmap pin tailwindcss-flip
2 - 将以下代码添加到 head 部分的布局文件中
<script>
tailwind.config = {
plugins: [
require('@tailwindcss/typography'),
require("tailwindcss-flip"),
],
}
</script>
3 - 只需在您的视图中使用 dir=rtl
4 - 盈利!!! :)
我正在尝试在我的 Rails 7 应用程序中使用 npm 包 'tailwindcss-flip'。 软件包文档具有以下说明:
安装tailwindcss-flip包:
Install using NPM
npm install tailwindcss-flip --save-dev
使用 Yarn 安装
yarn add tailwindcss-flip --dev
将插件添加到您的 tailwind.conf.js 文件:
plugins: [require("tailwindcss-flip")]
我的问题是,我确实将包固定在 importmap 中,但出现以下错误:
Error: Cannot find module 'tailwindcss-flip'
知道这在 Rails 7(无 Webpacker)中如何工作。
我假设您正在使用 tailwindcss-rails
gem。即使您 运行 rails new app --css tailwind
,这也是默认设置。它使用独立的 tailwind 可执行文件 https://tailwindcss.com/blog/standalone-cli,它与第一方插件捆绑在一起。所以 @tailswindcss/*
中的任何插件都应该开箱即用。
要使用任何其他 tailwind 插件,您必须 运行 完整的 node.js 版本的 tailwind。 Rails 7 方法是使用 cssbundling-rails
.
# Gemfile
# remove gem 'tailwindcss-rails'
gem 'cssbundling-rails'
bin/bundle install
bin/rails css:install:tailwind
将构建脚本添加到 package.json
"scripts": {
"build:css": "tailwindcss -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css --minify"
},
之后添加任何你喜欢的插件。你的情况:
yarn add tailwindcss-flip --dev
将插件添加到 tailwind 配置中。默认情况下它是 tailwind.config.js
(独立 tailwindcss-rails
版本使用 config/tailwind.config.js
,您不再需要它)
plugins: [
require("tailwindcss-flip"),
],
在您的布局中,您应该只有 application
个样式表。删除 stylesheet_link_tag "tailwind"
<%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
要开始编译您的 css,运行 来自 package.json
yarn build:css --watch
这应该输出 app/assets/builds/application.css
文件。它由 rails 资产管道(链轮)提供服务。如果您遇到 sprocket 错误,请重新启动一切,清除缓存,检查 app/assets/config/manifest.js
以包含 //= link_tree ../builds
.
如果您想使用 importmap,还有另一种选择。
1 - 引脚需要库
$ ./bin/importmap pin tailwindcss-flip
2 - 将以下代码添加到 head 部分的布局文件中
<script>
tailwind.config = {
plugins: [
require('@tailwindcss/typography'),
require("tailwindcss-flip"),
],
}
</script>
3 - 只需在您的视图中使用 dir=rtl
4 - 盈利!!! :)