Twitter bootstrap 为什么将ReactJS模块添加到现有站点会中断所有JavaScript事件?
我已经编写了一个ReactJS模块,开始逐步替换旧站点的部分内容。该模块按预期运行,但现有Rails应用程序中断如下:Twitter bootstrap 为什么将ReactJS模块添加到现有站点会中断所有JavaScript事件?,twitter-bootstrap,ruby-on-rails-4,reactjs,Twitter Bootstrap,Ruby On Rails 4,Reactjs,我已经编写了一个ReactJS模块,开始逐步替换旧站点的部分内容。该模块按预期运行,但现有Rails应用程序中断如下: 引导下拉菜单不再工作 在CoffeeScript文件中注册为$->(或(function(){})(this))的任何脚本对于JS等价物)不再有效 我尝试过在剩余脚本之前或之后订购使用webpack构建的ReactJS捆绑包文件,但没有成功。我现在倾向于认为React模块以某种方式干扰了遗留脚本 有人知道有没有办法克服这个问题吗 浏览器的JS控制台中没有显示错误。解决了问题。看
$->
(或(function(){})(this))的任何脚本代码>对于JS等价物)不再有效
浏览器的JS控制台中没有显示错误。解决了问题。看起来Bootstrap.js文件在两个地方被引用(在rails application.js文件中,以及当时我没有想到的,在webpack配置文件中作为编译的依赖项引用) 此外,jQuery事件似乎由于Turbolinks缓存(我没有意识到它被启用)而被破坏
这样的组合似乎会导致无提示的问题。在dom中,react绑定在哪里?如果它位于一个或多个独立节点上,则不会出现问题。但该节点(及其所有子节点)或多或少需要100%反应。我将反应模块绑定到位于“body”节点内的“container”中。它位于站点布局中,其中包括一个嵌套的引导式菜单。添加您的网页配置和索引。htmlhanks@goldylucks-配置是嵌套的,对我来说有点太复杂,无法提取相关部分。你认为它应该与网页有关吗?我认为你没有正确地设置你的项目。我建议您将rails应用程序仅用作API,并让webpack管理客户端构建。随着应用的发展,你会遇到更多类似的问题