我开始使用默认的 Rails 模板,现在我想将 Bootstrap v5.1 与 Rails 一起使用。我删除了 Importmap-Rails 并继续添加 JSBundling-Rails 和 CSSBundling-Rails。样式工作正常,但 Bootstrap JavaScript 命令似乎都没有工作。我究竟做错了什么?
1 回答
从 Importmap 迁移到 JSBundling + CSSBundling 时,请确保删除剩余文件。删除config/importmap.rb
和bin/importmap
。
还会有一些残留物包含热线涡轮和热线刺激。如果您不打算使用它们,请删除app/javascript/controllers
并清除app/javascript/application.js
. 如果 incase,你想要 hotwire 库,首先将 jsbundling-rails 和 cssbundling-rails 添加到 Gemfile。首先使用rails javascript:install:[esbuild|rollup|webpack]
和完成他们的设置rails css:install:bootstrap
中可能存在一些冲突bin/dev
,但我没有注意到任何不同。因此,您可以丢弃或保留文件的冲突版本。
大多数必需的文件将自动生成,并在预先存在的文件中自动附加行,但如果 Bootstrap v5.1 仍然无法在带有 JSBundling 和 CSSBundling 的 rails 中工作:
确保:
import * as bootstrap from "bootstrap"
已添加到
app/javascript/application.js
文件中。看看
app/assets/stylesheets
有application.bootstrap.scss
没有代替application.css
,里面的内容是:@import 'bootstrap/scss/bootstrap'; @import 'bootstrap-icons/font/bootstrap-icons';
在
app/assets/config/manifest.js
文件中,确保包含 builds 目录://= link_tree ../images //= link_tree ../../javascript .js //= link_tree ../../../vendor/javascript .js // => add the line below, with the double slashes. //= link_tree ../builds
不要忘记运行
rails assets:precompile
命令。最好先关闭服务器,然后运行此命令。