【问题标题】:Laravel files/folders not showing up in Public directoryLaravel 文件/文件夹未显示在公共目录中
【发布时间】:2021-03-18 02:50:45
【问题描述】:

我想将 TradingView 的图表库集成到我的 Laravel 项目中。

我已将 charting_library 文件夹复制到 Laravel 的 Public 文件夹中。

之后,我在视图中引用了 Blade 文件中的 charting_library.min.js 文件以及与之相关的其他资源。

<script type="text/javascript" src="{{ asset('tradingview/charting_library/charting_library.min.js') }}">

所有 js 文件都加载成功,但是问题是这个 charting_library.min.js 从一个子目录调用一个 HTML 文件,它返回一个 404 Not Found 错误。

http://localhost:8000/charting_library/static/fa-tv-chart.37***ee.html 404 (Not Found)

这是文件/文件夹结构:



我已经从 chrome 的开发工具中检查了加载的资源。

Laravel 会加载这些引用的 JS 文件,但不会加载这些文件请求的任何其他文件,只返回 404。



charting_library 文件夹存在于目录中,它只是与 Laravel 相关的东西。我认为它看不到目录的内容。

我已尝试修改 .htaccess 文件,但仍然没有成功。

我什至尝试通过 Webpack 混合 charting_library.min.js,更改自动加载,但仍然没有任何反应。

【问题讨论】:

  • 您是否尝试过在本地虚拟主机(如 apache)上运行您的网站?
  • 那么JS库文件的URL是什么?您可以在浏览器中访问http://localhost:8000/charting_library/static/fa-tv-chart.37***ee.html 吗?为什么 JavaScript 文件会尝试使用非相对 URL 访问文件?

标签: javascript php laravel webpack laravel-8


【解决方案1】:

我通过以下方式解决了这个问题:

  1. 将项目移动到 wamp 的 www 文件夹。

  2. 将 charting_library 和 datafeeds 文件夹移动到 laravel 的 public 根目录。它似乎 tradingview 的小部件构造函数使用相对路径进行构建 整个图表。因此,当您将 charting_library 放在文件夹中时, 它不解决其他资产。这些文件夹应该正好在 根。

【讨论】:

  • 感谢@babak-ashrafi 的评论。它让我走上了正确的道路。
猜你喜欢
  • 2020-01-27
  • 2021-12-19
  • 2014-07-18
  • 2018-01-14
  • 2016-07-03
  • 1970-01-01
  • 2020-07-29
  • 2020-01-21
  • 1970-01-01
相关资源
最近更新 更多