0

我开始使用默认的 Rails 模板,现在我想将 Bootstrap v5.1 与 Rails 一起使用。我删除了 Importmap-Rails 并继续添加 JSBundling-Rails 和 CSSBundling-Rails。样式工作正常,但 Bootstrap JavaScript 命令似乎都没有工作。我究竟做错了什么?

4

1 回答 1

0

从 Importmap 迁移到 JSBundling + CSSBundling 时,请确保删除剩余文件。删除config/importmap.rbbin/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/stylesheetsapplication.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命令。最好先关闭服务器,然后运行此命令。

于 2022-02-23T09:13:07.470 回答