create-react-app ReferenceError:未定义jQuery

时间:2018-08-23 05:11:58

标签: reactjs create-react-app

与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)

3 个答案:

答案 0 :(得分:1)

要使用npm安装jquery

npm install jquery --save

执行完此操作后,在每个页面上都必须使用jquery

import $ from 'jquery';

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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