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