首页 文章

'Uncaught ReferenceError: jQuery is not defined'与create-react-app

提问于
浏览
2

我正在使用create-react-app构建一个React应用程序,因此该应用程序已准备好服务器 .

当导入引导javascript插件,如'affix.js'时,我收到错误'未捕获的ReferenceError:jQuery未定义',并且页面不再加载 .

我通过index.js文件导入所有模块,因为使用create-react-app它似乎从index.html文件加载'src'和'link'导入 .

我像这样导入bootstrap插件:import'bootstrap / js / affix.js'

尝试以下列方式导入jquery,位于index.js文件的顶部但没有一个正常工作:

  • 从'jquery'导入jquery

  • 从'jquery'导入jquery,window . $ = window.jQuery = jquery;

  • 从'jquery'导入jQuery

  • 从'jquery'进口$

  • import 'jquery/dist/jquery.js';

  • 要求('./node_modules/jquery/dist/jquery.js')

有任何想法吗?

2 回答

  • 4

    在这里创建React App维护者 .

    import $ from 'jquery';
    

    然后使用

    $.something()
    

    应该工作正常 if you are using jQuery 2.x or higher .

    如果没有,请提出问题 .


    在您的示例中,问题可能是您编写了 import jquery from 'jquery' 但使用 jQuery 作为变量名称 . 您应该编写 import jQuery from 'jquery' (或任何其他名称,只要您始终如一地使用它) . 变量名在JavaScript中区分大小写 .

  • 2

    万一有人降落在这里 . 我使用这个解决了'create-react-app'的类似问题:

    import jQuery from 'jquery';
    window.jQuery = jQuery;
    

    并且为了导入需要jQuery的其他包,你应该在这之后导入这些包,在affix.js的情况下,

    require 'bootstrap/js/affix.js';
    

相关问题