You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel5.6子视图中外联JS无法正常加载求助

解决Laravel 5.6子视图中外联JS无法加载的问题

嘿,作为踩过不少Laravel坑的老玩家,我帮你梳理下可能的问题点和解决办法:

1. 修复Script标签的闭合方式

你在子视图里用了自闭合的<script src="..." />,这在HTML规范里是不被支持的!浏览器解析这种标签时很容易出现异常,直接导致后续的JS文件无法正常加载。

把自闭合标签改成标准闭合写法:

@section('script')
<script src="{{ asset('js/jquery.easing.js') }}"></script>
<script src="{{ asset('js/jqueryFileTree.js') }}"></script>
<script type="text/javascript">
$(document).ready( function() {
    alert('hi');
    // 你的其他业务代码
});
</script>
@endsection

2. 确认jQuery的全局可用性

Laravel 5.6默认的app.js是通过Webpack编译的,其中bootstrap.js里已经帮你引入了jQuery并挂载到全局:

window.$ = window.jQuery = require('jquery');

如果没修改过这段代码,那$应该是全局可用的。但如果控制台报错$ is not defined,那要检查:

  • 布局里的app.js是否在@yield('script')之前加载(你当前的写法是对的,先加载app.js再加载子视图的script)
  • 是否不小心注释了bootstrap.js里的jQuery全局挂载代码

3. 验证资源文件路径是否正确

打开浏览器的开发者工具→网络标签,刷新页面后查看这两个JS文件的请求状态:

  • 如果是404错误,说明文件路径不对:
    • 确认文件是否真的放在public/js目录下
    • 如果是用Laravel Mix编译的文件,建议用mix()代替asset(),比如{{ mix('js/jquery.easing.js') }},它会自动处理版本哈希和正确路径

4. 检查浏览器控制台的错误信息

打开浏览器控制台(F12),查看是否有JS报错,比如$ is not defined或者文件加载失败的提示,这些信息能帮你快速定位核心问题。

按照上面的步骤排查,应该就能解决你的问题啦~

内容的提问来源于stack exchange,提问作者Techno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:35:08