Bootstrap JS 函数未在 Rails 6/Webpacker 中加载

2024-01-01

使用 Webpacker 和 Rails 6 攀登学习曲线。

我已经使用 Yarn 和 Webpack 安装了 Bootstrap 4。当我尝试在浏览器的 JS 控制台中使用 Bootstrap 组件时,我得到:TypeError: $.fn.button is undefined.

如果我删除 Yarn 安装,请在headHTML(旧方式)一切正常。当我删除 CDN 链接并恢复使用 Webpacker 时,我又回到了上面的错误。

这是我的 Webpacker 设置:

// package.json
{
  "name": "depot",
  "private": true,
  "dependencies": {
    "@rails/actioncable": "^6.0.0-alpha",
    "@rails/activestorage": "^6.0.0-alpha",
    "@rails/ujs": "^6.0.0-alpha",
    "@rails/webpacker": "^4.0.7",
    "bootstrap": "4.2.1",
    "jquery": "^3.4.1",
    "popper.js": "^1.15.0",
    "turbolinks": "^5.2.0"
  },
  "version": "0.1.0",
  "devDependencies": {
    "webpack-dev-server": "^3.8.0"
  }
}
// enviornment.js
const { environment } = require("@rails/webpacker");

const webpack = require("webpack");
environment.plugins.append(
  "Provide",
  new webpack.ProvidePlugin({
    $: 'jquery/src/jquery',
    jQuery: 'jquery/src/jquery',
    Popper: ["popper.js", "default"]
  })
);

module.exports = environment;
// application.js

require("@rails/ujs").start();
require("turbolinks").start();
require("@rails/activestorage").start();
require("channels");
require("jquery");
require("bootstrap");

import "./src/application.scss";
# layouts/application.html.haml
!!!
%html
  %head
    %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}
    %title Depot
    = csrf_meta_tags
    = csp_meta_tag
    = stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
    = javascript_pack_tag 'application', 'data-turbolinks-track': 'reload'

我应该做些什么来将 Bootstrap 函数导出到全局命名空间吗?


找到一个讨论这个问题的论坛:https://gorails.com/forum/how-to-use-bootstrap-with-webpack-rails-discussion https://gorails.com/forum/how-to-use-bootstrap-with-webpack-rails-discussion

他们提到这可能是由于多次加载 jQuery 造成的,最新的声明阻止了 Bootstrap 的 JS 加载。我在我的项目中找不到任何证据。

对我来说,修复最终是在 webpack 入口点添加几行,将 jQuery 暴露给浏览器:

# packs/application.js

import JQuery from 'jquery';
window.$ = window.JQuery = JQuery;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bootstrap JS 函数未在 Rails 6/Webpacker 中加载 的相关文章

随机推荐

  • C++ 获取类的所有对象

    C 中有没有一种方法可以获取一个类的所有对象 就像在 Python 中一样 我们可以这样做 class name objects all 获取一个类的所有对象 如果存在的话 它在 C 中的类似物是什么 您可以自己执行此操作 但请确保您知道自
  • RxJava - Just 与 From

    使用时我得到相同的输出Observable just vs Observable from在以下情况下 public void myfunc swap out just for from here and i get the same re
  • 更改函数内部的指针不会反映在函数外部[重复]

    这个问题在这里已经有答案了 void alloco int ppa int i printf inside alloco d n ppa ppa int malloc 20 ppa 15 9 printf size of a d n siz
  • NetworkSecurityConfig:未指定网络安全配置 - Android 7.0 错误?

    我在 android 7 0 0 上遇到一些问题 我在我的应用程序中使用 volley 库 除了 Android 7 0 之外 它运行良好 这是我的代码的一部分 String url goster http 185 126 217 71 c
  • 具有相同方法名称的两个接口 - 方法的实现[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 假设我有两个接口 interface IOne public void method and interface ITwo public voi
  • C++ 全局常量问题

    我们在一系列文件中定义了这些 实用 常量集 问题源于这样一个事实 太多文件包含这些全局常量文件 如果我们向其中一个文件添加常量并尝试构建 它会构建整个库 这需要一个多小时的时间 有人能为这种方法提出更好的方法吗 我们将不胜感激 首先 如果您
  • 查找数组中是否包含 2 旁边的 2

    我被这个问题困住了 给定一个整数数组 如果该数组某处的 2 旁边包含 2 则返回 True has22 1 2 2 True has22 1 2 1 2 False has22 2 1 2 False 我知道基本思想 存在语法错误 但我无法
  • Python TypeError:不支持的操作数类型 -:“float”和“NoneType”

    有谁知道为什么我会收到这样的错误 TypeError unsupported operand type s for float and NoneType 如果你这样做 我将非常感激 我对此很陌生 正在努力学习 但我真的陷入了 Python
  • 将模型传递给局部视图

    我有一个 Address 部分视图 该部分视图包含与地址模型匹配的所有地址字段 在此视图的顶部 我将模型设置如下 模型数据 地址 在我的 CustomerInfo 视图中 我尝试以下操作将地址字段呈现为表单的一部分 Html Partial
  • git - 默认推送到 --recurse-submodules=check

    我总是忘记推送子模块 有时我忘记添加 recurse submodules check to git push 更糟糕的是 我团队中的其他人可能也会这样做 有没有git config我们可以设置的选项check默认值 Git v2 7 0
  • Task.Delay().Wait() 发生了什么?

    我很困惑为什么Task Delay Wait takes 4 倍多的时间 then Thread Sleep E g task 00正在运行仅线程 9并采取了2193ms 我知道 同步等待在任务中很糟糕 因为整个线程被阻塞 它只是为了测试
  • 清除 MATLAB 中的类定义

    命令clear classes清除当时加载到内存中的所有类定义 是否可以仅清除特定的类定义 编辑 我有兴趣删除特定的课程定义来自内存 而不是类实例 当我编写新的 HPF 类时 我自己也遇到了这个问题 所以我尝试了一些事情 因为当我调试新类时
  • CI/CD 的 Helm 图表版本

    我为 CI CD 管道设置了一个 helm 存储库 但我遇到的一件事是 helm 的版本控制系统 该系统专注于语义版本控制系统 如下所示x x x 我希望能够指定 暂存 最新 和 生产 等标签 尽管我能够成功上传带有字符串版本的图表 NAM
  • 全文搜索和 Python

    有人可以帮我推荐一个支持 Python 的全文搜索引擎吗 现在我们已经有了一个 MySQL 数据库 我想添加一个功能 让全文搜索引擎索引该数据库中某些表中的某些文本 Web 应用程序将使用此文本数据来搜索数据库中的相应记录 例如 在客户表中
  • 正则表达式匹配非行首

    我有以下 XML 标签
  • Jquery .serialize() 不处理下拉列表的值?

    我认为这应该是一件简单的事情 但由于某种原因 除了下拉列表的选定值之外 我的所有表单值都被很好地序列化 表单如下
  • C#.net 将带有附件的电子邮件排队发送的最佳方法

    我正在寻找一种更安全地从我们的应用程序发送电子邮件的方法 目前 我们直接将电子邮件发送到 IIS SMTP 服务器 但正在寻找在服务器出现故障 重新启动等情况下更安全地传送电子邮件的方法 我正在考虑实现此目的的一种方法是将电子邮件 带有附件
  • AttributeError:“AuthorizedSession”对象没有属性“configure_mtls_channel”

    我正在使用 Cloud Composer 编排两个数据流作业 并且一个月以来运行良好 突然 这两个作业停止工作 并出现以下错误消息 在 download blob 文件中 usr local lib python3 6 site packa
  • 更改 MKMapView 的地图类型

    我正在尝试开发一个界面 供用户更改mapType 视图 我想通过在地图视图的右下角添加折叠效果来实现这一点 用户可以在右下角按下或按下并拖动 地图将折叠起来足以显示 3 种不同的地图类型 常规 混合和卫星 这与 iPhone 上的谷歌地图具
  • Bootstrap JS 函数未在 Rails 6/Webpacker 中加载

    使用 Webpacker 和 Rails 6 攀登学习曲线 我已经使用 Yarn 和 Webpack 安装了 Bootstrap 4 当我尝试在浏览器的 JS 控制台中使用 Bootstrap 组件时 我得到 TypeError fn bu