【问题标题】:JavaScript file does not load properly in LaravelJavaScript 文件在 Laravel 中无法正确加载
【发布时间】:2017-10-15 07:50:41
【问题描述】:

所以,我正在尝试将 js 文件加载到页面中,例如,当我使用简单的 HTML <script> 标记时,该文件不会加载

<script src="js/laravel.js"></script>

但是当我使用刀片时它会加载,

{!! Html::script('js/laravel.js') !!}

但棘手的部分是,在某些页面中,简单的 HTML &lt;script&gt; 可以很好地加载 js 文件,但在某些页面中它根本不起作用。

【问题讨论】:

  • 您确定它在public 文件夹中吗?
  • 一切取决于当前的url和js文件所在的目录。在简单的 HTML 脚本标记中,使用相对 url 到 js 文件。所以它总是链接到当前文件夹/文件。如果您在链接 domain.com 上,它正在“webroot/js”文件夹中寻找 laravel.js。如果您有 url domain.com/subfolder/,它正在“webroot/subfolder/js”文件夹中寻找 js 文件。
  • 是的,它在公共文件夹中。关于不同的文件夹,我创建的每个页面都使用相同的布局(加载 js 文件的位置),但是为什么有些页面会加载 js 文件而有些却没有,这让我很烦恼

标签: javascript html laravel blade


【解决方案1】:

要访问您的资产路径,您可以使用asset function helper:

<script src="{{ asset('js/laravel.js') }}"></script>

【讨论】:

  • 是的,我知道,感谢您的回答,但我很困惑,如果不使用资产功能,为什么js文件不适用于所有页面,但有些页面即使所有页面都使用相同的布局。
  • 这是因为您想使用相对路径访问资产。假设您在路径/user/1 中,那么浏览器将尝试获取您的资产 => /user/1/js/laravel.js。请注意,您没有在资产路径中添加 /。尝试在前面加上/ 字符,例如:&lt;script src="/js/laravel.js"&gt;&lt;/script&gt;,我认为它会起作用。
  • hmmm..是的,似乎是这样,确实适用于 / 。谢谢你的信息,这真的很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 2012-09-24
相关资源
最近更新 更多