create-react-app ReferenceError: jQuery is not defined



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

引用错误:未定义 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

有什么指示吗?

更新

jQuery在模块产品-xxx中使用,像这样

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

使用 npm 安装 jquery

npm install jquery --save

完成此操作后,在每个页面上,您必须在使用jquery的位置具有此内容

import $ from 'jquery';

您是否在package.json中安装了jquery?也许你可以试试这个 如何在创建反应应用程序中使用依赖 jQuery 的插件或此问题 #679

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

最新更新