【发布时间】:2017-06-07 14:17:10
【问题描述】:
我正在使用create-react-app 构建一个 React 应用程序,因此该应用程序已准备好服务器。
在导入诸如“affix.js”之类的引导 javascript 插件时,我收到错误“未捕获的 ReferenceError: jQuery is not defined”,并且页面不再加载。
我正在通过 index.js 文件导入所有模块,因为使用 create-react-app 它似乎从 index.html 文件中加载了“src”和“link”导入。
我正在像这样导入引导插件: 导入'bootstrap/js/affix.js'
已尝试在 index.js 文件的顶部通过以下方式导入 jquery,但均无效:
- 从“jquery”导入 jquery
- 从'jquery'导入jquery,window.$ = window.jQuery = jquery;
- 从“jquery”导入 jQuery
- 从“jquery”导入 $
- 导入'jquery/dist/jquery.js';
- require('./node_modules/jquery/dist/jquery.js')
有什么想法吗?
【问题讨论】:
-
我认为,不要以这种方式导入
jquery。只需将cdn jquery链接放在 html 文件中,它应该可以工作。使用这个:<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> -
@MayankShukla 感谢这工作!最后。我之前尝试了很多其他方法。我想这与 index.html 在 create-react-app 的一部分时扫描文件夹目录的方式有关。所以 CDN 在这种情况下可以工作。谢谢!您也可以将其发布为官方答案吗?您刚刚使用 expressJS 自下而上地重建了应用程序,因为我之前没有构建过 nodeJs 或 expressJs 应用程序,因此我将通过教程来完成这项工作 :) 您可能节省了我半天的时间。谢谢!
-
@MayankShukla 还有关于为什么我上面的导入方法不起作用的任何想法?
-
另外顺便说一句,您提供的 CDN 导致我的 URL 无效。改用code.jquery.com 提供的那些。
-
不,您不需要 CDN。不幸的是,您没有提供重现该问题的完整代码,所以我不能说到底出了什么问题。请看我的回答。
标签: jquery twitter-bootstrap reactjs create-react-app