';未捕获引用错误:未定义jQuery';使用CreateReact应用程序

';未捕获引用错误:未定义jQuery';使用CreateReact应用程序,jquery,twitter-bootstrap,reactjs,create-react-app,Jquery,Twitter Bootstrap,Reactjs,Create React App,我正在使用创建一个React应用程序,以便该应用程序为服务器就绪 当导入一个引导javascript插件(如“affix.js”)时,我会得到错误“uncaughtreferenceerror:jQuery未定义”,页面不再加载 我通过index.js文件导入所有模块,因为create react应用程序似乎从index.html文件加载了“src”和“link”导入 我正在导入引导插件,如下所示: 导入“bootstrap/js/affix.js” 已尝试通过以下方式在index.js文件顶部

我正在使用创建一个React应用程序,以便该应用程序为服务器就绪

当导入一个引导javascript插件(如“affix.js”)时,我会得到错误“uncaughtreferenceerror:jQuery未定义”,页面不再加载

我通过index.js文件导入所有模块,因为create react应用程序似乎从index.html文件加载了“src”和“link”导入

我正在导入引导插件,如下所示: 导入“bootstrap/js/affix.js”

已尝试通过以下方式在index.js文件顶部导入jquery,但均无效:

  • 从“jquery”导入jquery
  • 从“jquery”窗口导入jquery。$=window.jquery=jquery
  • 从“jQuery”导入jQuery
  • 从“jquery”导入$
  • 导入“jquery/dist/jquery.js”
  • 需要('./node_modules/jquery/dist/jquery.js')

  • 有什么想法吗

    在此处创建React应用程序维护程序

    import $ from 'jquery';
    
    然后使用

    $.something()
    
    如果您使用的是jQuery 2.x或更高版本,应该可以正常工作

    如果没有,请提交问题



    在您的示例中,问题可能是您编写了
    importjqueryfrom'jquery'
    ,但使用了
    jquery
    作为变量名。您应该已经编写了从“jQuery”导入jQuery的
    (或任何其他名称,只要您一直使用它)。变量名在JavaScript中区分大小写

    以防有人在这里着陆。我已通过以下方式解决了“创建反应应用程序”的类似问题:

    import jQuery from 'jquery';
    window.jQuery = jQuery;
    
    对于导入其他需要jQuery的包,您应该在此之后导入这些包,在affix.js中

    require 'bootstrap/js/affix.js';
    

    您可以复制react“public”文件夹中的jquery.js文件,并将其导入index.html文件中

    我认为,不要以这种方式导入
    jquery
    。只需将
    cdnjquery
    链接放在html文件中,就可以了。使用这个:
    @MayankShukla谢谢你的帮助!最后我以前试过很多其他的方法。我想这与index.html作为createreact应用程序的一部分扫描文件夹目录的方式有关。因此,CDN在这种情况下会起作用。谢谢你能把这个作为官方的答复吗?你刚刚救了我用expressJS自下而上重建应用程序,这是我将通过教程完成的,因为我以前没有构建过nodeJs或expressJS应用程序:)你可能救了我半天。谢谢@MayankShukla也知道为什么我上面的导入方法不起作用吗?顺便说一句,你提供的CDN导致了我的死URL。改为使用在提供的。不,您不需要CDN。不幸的是,你没有提供完整的代码来重现这个问题,所以我不能说到底出了什么问题。请看我的答案。谢谢你的回复。我已经尝试过“从‘jquery’导入$”,但它给出了相同的错误。另外,关于您之前的评论,您可以在这里看到我当前通过CDN()导入jquery的源代码。要测试该bug,您可以从index.html中删除CDN链接,然后尝试在App.js中如上所述导入jquery。您将看到引用错误。也将按您所说的提交问题。似乎不适用于我的create react应用程序。当我加载应用程序时,在控制台类型window.jQuery中我没有定义。在我的html文件中使用CDN似乎是让jQuery加载到我的应用程序中的唯一方法。难道没有比这多一点的吗?