React 项目中 Bootstrap 需要 jQuery

2024-04-06

我正在开发一个 React.js 项目,我不使用 React-Bootstrap,而是将 Bootstrap 的 CSS 加载到我的项目中。我现在需要导入 jQuery,以便我可以使用下拉菜单等。

入口点文件(index.js) - 希望它能起作用

'use strict'
import React from 'react'
import { Route, Router, IndexRoute, browserHistory } from 'react-router'
import { render } from 'react-dom'

// Pages
import Main from './pages/main/main'
import Home from './pages/home/home'
import About from './pages/about/about'
window.jQuery = window.$ = require('jquery/dist/jquery.min')
import '../node_modules/bootstrap/dist/css/bootstrap.min.css'
import '../node_modules/bootstrap/dist/js/bootstrap.min.js'

render((
  <Router history={browserHistory}>
    <Route name='home' path='/' component={Main}>
      <IndexRoute component={Home} />
      <Route name='about' path='about' component={About} />
    </Route>
  </Router>), document.getElementById('app'))

网页包文件

'use strict'
const path = require('path')
const webpack = require('webpack')

module.exports = {
  entry: [
    './browser/index'
  ],
  output: {
    path: path.join(__dirname, 'public', 'js'),
    filename: 'bundle.js',
    publicPath: '/public/js/'
  },
  plugins: [
    new webpack.ProvidePlugin({
      $: 'jquery',
      jQuery: 'jquery'
    }),
    new webpack.NoErrorsPlugin()
  ],
  module: {
    loaders: [
      { test: /\.js$/,
        loader: 'babel-loader',
        query: {
          presets: [ 'es2015', 'react' ]
        },
        include: path.join(__dirname, 'browser')
      },
      { test: /\.css$/, loader: 'style-loader!css-loader' },
      {test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file'},
      {test: /\.(woff|woff2)$/, loader: 'url?prefix=font/&limit=5000'},
      {test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream'},
      {test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml'},
      { test: require.resolve('jquery'), loader: 'imports?jQuery=jquery' }
    ]
  }
}

Chrome 开发工具中出现错误:“Bootstrap 的 Javascript 需要 jQuery”。我想知道我是否在 webpack 文件中缺少有关加载器的内容,或者需要在入口文件中添加 import 语句?


请确保您已安装“imports-loader”(npm install --saveimports-loader)。在 module.exports 中试试这个:

{ test: /bootstrap.+\.(jsx|js)$/, loader: 'imports?jQuery=jquery,$=jquery,this=>window' }

我在这里找到了关于它的非常好的帖子:http://reactkungfu.com/2015/10/integrating-jquery-chosen-with-webpack-using-imports-loader/ http://reactkungfu.com/2015/10/integrating-jquery-chosen-with-webpack-using-imports-loader/

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

React 项目中 Bootstrap 需要 jQuery 的相关文章

随机推荐

  • Ratchet PHP - 推送消息服务

    我使用 Ratchet 查看的大多数示例都是针对聊天服务的 我目前正在构建一个应用程序 用户可以在其中登录并根据其用户 ID 从服务器接收通知 我有基本的教程 但是我很难理解以下几点 当 的时候onOpen 方法被调用 我设置了 conn对
  • R 中出现重复值并返回以逗号分隔的唯一值

    我在 R 中有以下数据框 Number ship no 4432 1 4432 2 4564 1 4389 5 6578 6 4389 3 4355 10 4355 10 我想找到重复的Number以独特的方式重复ship no Numbe
  • requests.exceptions.SSLError: [Errno 2] 没有这样的文件或目录

    我正在使用一个名为 Tweetpony 的 python 库 一切正常 除了当我使用 Pyinstaller 打包我的脚本时 我在执行时收到以下错误 Traceback most recent call last File
  • 找不到在 64 位 Windows 上运行 32 位应用程序的 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId

    确实如标题 在 regedit 中查看键值存在 但 Wow6432 键 HKLM SOFTWARE Wow6432Node Microsoft Windows NT CurrentVersion 没有此键 这意味着 32 位应用程序无法在我
  • Xpath 仅选择属性的一部分

    if dt id returns comment 34232 or comment 12我怎样才能让它返回34232 or 12 换句话说 替换 comment with and if span style returns width 80
  • HTML5 音频播放器中的搜索不一致

    我想从特定时间戳开始播放音频 但我什至无法让最简单的例子正常工作 我尝试了以下方法 并进行了修改w3school 的例子 http www w3schools com tags tryit asp filename tryhtml5 av
  • htaccess 301 重定向 htaccess 或 php

    我在 Htaccess 中有一个动态 URL 重写规则 如下所示 RewriteRule cartoon html fm cart new r id 1 location 2 L 此规则导致 URL 为http localhost fm c
  • 如何在 Windows 上升级 pgAdmin 4?

    我安装了 pgAdmin 4 作为 Windows 的 postgres 安装程序的一部分 pgAdmin 现在告诉我有一个更新的版本 我有 4 8 gt 4 5 但是 我没有看到内置的升级功能 当我下载并运行 pgAdmin 4 安装程序
  • C++ 重复符号

    Mac 我尝试过命名空间 包括警卫 编译指示一次等 基本上 这是结构 CMakeLists txt add executable Game Game main cpp Game rtexture cpp 游戏 main cpp includ
  • Google 新闻 rss 参数 num 100 仅返回 30 个结果

    我用来从谷歌新闻获取结果的链接 它工作正常 但我得到的结果数量存在问题 当 num 参数超过 30 时 无论数量多少 num 参数最多返回 30 个结果 谷歌是否改变了它给出的结果数量 如果是的话有没有任何文档 提前致谢 根据source
  • 如何使用 pandas 将多行字符串合并为一行?

    我有一个包含多行的 DataFrame 有什么方法可以将它们组合成一个字符串吗 例如 words 0 I will hereby 1 am gonna 2 going far 3 to 4 do 5 this 预期输出 I will her
  • 查找与区域设置相关的一周的第一天

    给定一个NSDate 在给定用户的区域设置的情况下 如何找到该日期一周的第一天 例如 我听说有些国家将星期一视为一周的第一天 而其他国家则将星期日视为一周的第一天 在第一种情况下我需要返回前一个星期一 在后一种情况下我需要返回前一个星期日
  • 具有多个命名空间的 DataContractSerializer

    我正在使用 DataContractSerializer 将对象序列化为 XML 主要对象是SecurityHolding 其命名空间为 http personaltrading test com http personaltrading
  • 如何修改codeigniter中的路由

    帮我解决这个问题 举个例子 我有这个正常的网址 localhost CI index php base storeurl 我怎样才能让 Codeigniter 知道要寻找 本地主机 CI storeurl 我有一个名为index 的函数 它
  • Struts 2/ Foundation 5 - ModelDriven 类和文件上传

    我是 Java 编程新手 我正在尝试创建一个带有表单等的基本网页来下订单 在参加了几次工作会议后 我决定使用 Struts 2 我还使用 zurb Foundation 5 来实现响应式 UI 我能够创建一个 HTML 网页和一个带有文本字
  • 使用媒体播放器的 Android http 直播流媒体 URL

    我正在尝试播放一个网址 但它没有播放 我使用的代码如下 logcat 显示 Mediaplayer 错误 1 1002 开始状态为 0 且错误 38 0 为什么 我哪里出错了 你能帮我看看怎么玩吗 import java io IOExce
  • 运行高优先级 sshd 进程,而不将该优先级继承给子进程

    我使用以下命令给 sshd 进程赋予最高优先级 nice n 20 sbin sshd 但默认情况下它也会给子进程 bin sh 最高优先级 那么 是否可以为子进程赋予普通优先级 0 而不是最高优先级 假设此 sshd 是 OpenSSH
  • Android SQLite CursorWindowAllocationException 崩溃

    当我发出多个cursor moveToNext 请求时 我的程序崩溃了 错误消息如下 android database CursorWindowAllocationException Cursor window allocation of
  • 主管不使用 Gunicorn + Flask

    我正在尝试在 Ubuntu 12 04 系统中从 Supervisor 运行 Gunicorn Gunicorn 运行 Flask 应用程序 使用 Flask 的嵌入式服务器测试的简单 REST Web 服务 我通过克隆 GIT 存储库来安
  • React 项目中 Bootstrap 需要 jQuery

    我正在开发一个 React js 项目 我不使用 React Bootstrap 而是将 Bootstrap 的 CSS 加载到我的项目中 我现在需要导入 jQuery 以便我可以使用下拉菜单等 入口点文件 index js 希望它能起作用