【问题标题】:create-react-app ReferenceError: jQuery is not definedcreate-react-app ReferenceError: jQuery 未定义
【发布时间】:2018-08-23 05:11:57
【问题描述】:

与 create-react-app 一起使用时出现此错误

ReferenceError: jQuery 未定义

我的index.js有这个

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
//import '../node_modules/jquery/dist/jquery.min.js';

import jQuery from 'jquery';
import '../node_modules/product-xxx/dist/js/product-xxx.min.js'; // this file uses jQuery

我试过了还是没用

/* eslint-disable import/first */
window.jQuery = window.$ = $;

如果我从 public/index.html 中的 CDN 加载 jQuery,这将有效 jQuery 版本是 3x

任何指针?

更新

在模块product-xxx中使用jQuery是这样的

+function(t) {
    "use strict";
    function e() {
        var t = document.createElement("bootstrap")
          , e = {
            WebkitTransition: "webkitTransitionEnd",
            MozTransition: "transitionend",
            OTransition: "oTransitionEnd otransitionend",
            transition: "transitionend"
        };
        for (var i in e)
            if (void 0 !== t.style[i])
                return {
                    end: e[i]
                };
        return !1
    }
    t.fn.emulateTransitionEnd = function(e) {
        var i = !1
          , o = this;
        t(this).one("bsTransitionEnd", function() {
            i = !0
        });
        var n = function() {
            i || t(o).trigger(t.support.transition.end)
        };
        return setTimeout(n, e),
        this
    }
    ,
    t(function() {
        t.support.transition = e(),
        t.support.transition && (t.event.special.bsTransitionEnd = {
            bindType: t.support.transition.end,
            delegateType: t.support.transition.end,
            handle: function(e) {
                return t(e.target).is(this) ? e.handleObj.handler.apply(this, arguments) : void 0
            }
        })
    })
}(jQuery)

【问题讨论】:

    标签: reactjs create-react-app


    【解决方案1】:

    使用 npm 安装 jquery

    npm install jquery --save

    在你这样做之后,在每个页面上你必须在你使用 jquery 的地方有这个

    import $ from 'jquery';

    【讨论】:

      【解决方案2】:

      您是否在package.json 中安装了 jquery?也许你可以试试这个How to use jQuery dependant plugins in create-react-app 或者这个问题#679

      【讨论】:

      • 它已经存在于 package.json 中的依赖项 "jquery": "^3.3.1",
      • @mrale81 不要在答案中提出问题,如果您有问题,请在 cmets 中提问。
      【解决方案3】:

      您需要在使用它的每个文件中使用import jQuery from 'jquery';

      【讨论】:

      • 我的理解是 src/index.js 就是这样做的。我也将它包含在每个文件中,但无法正常工作。
      • 需要在product-xxx js文件中添加jquery导入
      • 反正如果你使用cdn版本会更好,然后在你的代码中使用window.jQuery
      猜你喜欢
      • 1970-01-01
      • 2017-06-07
      • 2019-08-23
      • 2019-01-06
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      相关资源
      最近更新 更多