首先,我更多的是一个Rails后端人员。今天的JS世界让我害怕。我知道这是一个超级基本的问题,但我已经绞尽脑汁了好几天试图弄清楚,thisout。我不知道为什么我不能把CDN链接放在我的HTML中的某个地方,并获得我需要的所有JS。那些是美好的旧时代...
无论如何,我有一个使用导入Map的新Rails 7应用程序(它们都是吗?)我尝试从https://tailwindui.com/preview获取下拉“组件(该页面的第一个导航栏)工作。它开始弹出打开,没有悬停效果,无法关闭。我的目标是使用更多这样的组件,但我读过的所有文件似乎都让我觉得有一部分我不明白。
宝石文件包含gem "tailwindcss-rails", "~> 2.0" # github: "rails/tailwindcss-rails"
应用程序/资产/样式表/应用程序.tailwind.css:
@tailwind base;
@tailwind components;
@tailwind utilities;
应用程序/资产/javascript/应用程序.js
// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails
// what else needs to go here???
配置/顺风配置js
// const defaultTheme = require('tailwindcss/defaultTheme')
// module.exports = {
// content: [
// './app/helpers/**/*.rb',
// './app/javascript/**/*.js',
// './app/views/**/*'
// ],
// theme: {
// extend: {
// fontFamily: {
// sans: ['Inter var', ...defaultTheme.fontFamily.sans],
// },
// },
// },
// plugins: [
// require('@tailwindcss/forms'),
// require('@tailwindcss/aspect-ratio'),
// require('@tailwindcss/typography'),
// ]
// }
我还需要把什么放在哪里才能让这个工作呢?谢谢你好心地填补了我大脑中缺失的碎片。
2条答案
按热度按时间flvtvl501#
我知道你问这个问题已经有一段时间了,但我最近一直在与这个问题作斗争,我想谈谈我的发现,以防有人想知道。
因此,Tailwind UI提供3种变体的组件:如果您选择HTML,那么您必须弄清楚如何编写自己的JavaScript。this answer提到了这一点,但是我将详细说明这一点。
除了在他们的网站上提到"做你自己的JavaScript",他们还告诉我们在添加JavaScript时应该如何设置组件的样式:
然而,这并没有告诉我们必须自己编写代码。当然,我们遗漏了一些东西,对吗?事实证明,并不是这样。
基本上,布局的"动态"方面是通过Headless UI实现的,Headless UI是由同一批人开发和维护的一组组件,它只有三个公共包:x一个一个一个一个一个一个一个一个一个一个一个和x一个一个一个一个二个一个。
我运行了
npm i @headlessui/tailwindcss
并添加了@headlessui/tailwindcss
到插件中,但它并没有做太多事情。如果你检查包的源代码,你会发现一个非常小的index.js
,它只添加了一些实用程序类。所以这没有帮助,我不得不删除它。到目前为止,最可行的选择似乎是获取React或Vue版本的模板,并将其集成到您的管道中,否则您将不得不编写一堆JS来基本上重新实现自己的无头UI。
我仍然在寻找一个基于
importmap
的解决方案来集成Vue,而webpack
应该是非常直接的。h43kikqp2#
他们的HTML代码中没有JavaScript。在TailwindUI主页上,他们解释说:
由Headless UI支持的React和Vue的可访问的交互式示例,如果您愿意自己编写任何必要的JS,还可以使用普通HTML。
所以我想在这种情况下,你必须自己编写必要的JS。