Laravel 5.6导入JS库无法运行问题及相关疑问
Laravel中是否必须引入jQuery?以及无限滚动实现的小提示
嘿,针对你的问题和当前的无限滚动实现场景,给你梳理下:
核心结论:Laravel本身不强制要求引入jQuery,但你的插件需要
- Laravel框架本身并没有绑定jQuery,现在默认的前端栈是Vue/React这类现代框架,完全可以不依赖jQuery完成绝大多数交互功能,包括无限滚动也能用原生JS或者框架专属方案实现。
- 但你现在用的
jquery.jscroll.min.js是依赖jQuery的第三方插件,所以如果你要继续用这个插件来实现无限滚动,就必须引入jQuery,而且要注意加载顺序:先加载jQuery,再加载jscroll插件——你当前的脚本引入顺序是对的(先CDN的jQuery,再jscroll),这点没问题。
额外注意事项
- 检查Laravel Mix的配置:如果你在
webpack.mix.js里配置过mix.autoload({ jquery: ['$', 'window.jQuery'] }),那app.js里可能已经包含了jQuery,这时候你CDN引入的jQuery会和它重复加载,可能导致冲突,建议要么去掉CDN的引入,要么调整Mix配置避免重复。 - 别忘初始化jscroll:光引入插件还不够,你需要在页面里添加初始化代码,比如给你的列表容器加上类名(比如
.infinite-scroll),然后添加:$(document).ready(function() { $('.infinite-scroll').jscroll({ // 这里配置你的参数,比如加载下一页的URL选择器 nextSelector: '.pagination li.active + li a', contentSelector: '.infinite-scroll' }); }); - 替代方案:如果不想依赖jQuery,你可以用原生JS实现无限滚动监听,或者用Vue的无限滚动组件(比如
vue-infinite-scroll),这样就完全不需要引入jQuery了。
内容的提问来源于stack exchange,提问作者Dimitar
相关产品推荐
相关产品推荐

