引用Laravel 4公用文件夹

时间:2015-10-25 00:04:12

标签: php laravel laravel-4

是laravel的新手,在Laravel的“public”文件夹中引用我的angularJS文件时遇到了麻烦。我的公用文件夹结构如下所示::

public
   -angular
      -js

我在js文件夹中还有其他文件夹。我在index.php文件夹中有app/views个文件。当我转到我的应用程序http://learninglaravel.dev的主页时,浏览器会按预期将我带到index.php文件。

在我的“index.php”文件中,我想在"public/angular"文件夹下引用我的javascript文件,但我得到"NetworkError: 404 Not Found" - 在浏览器控制台中意味着找不到这些文件。这些是我试图将它们包含在“index.php”文件中的一些选项:

<script src="../../public/angular/js/angular.js"></script>
<script src="../../public/angular/js/controllers/mainCtrl.js"></script> 
or
<script src="angular/js/angular.js"></script>
<script src="angular/js/controllers/mainCtrl.js"></script>
or
<script src="./angular/js/angular.js"></script>
<script src="./angular/js/controllers/mainCtrl.js"></script>

所有这些选项都无法找到“public”文件夹下的文件。

我没有使用Blade模板。

2 个答案:

答案 0 :(得分:1)

你应该试试这个(假设你的文件名是js.js):

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

你在使用刀片吗?

答案 1 :(得分:1)

为了扩展Eduardo给出的答案,asset网址助手就是你所追求的。

基本上它会为您的公用文件夹生成一个动态URL,然后您可以将其用于任何其他脚本,CSS或您希望包含的其他内容。

在此示例中,您可能希望在给定文件结构的情况下使用以下内容:

<script src="{{ asset('angular/js/angular.js') }}"></script>
<script src="{{ asset('angular/js/controllers/mainCtrl.js') }}"></script>

只要您使用刀片模板引擎(即index.blade.php),就会在您的页面上输出:

<script src="http://yourwebsite.com/angular/js/angular.js"></script>
<script src="http://yourwebsite.com/angular/js/controllers/mainCtrl.js') }}"></script>

您的Laravel应用程序将能够将其解析为所需的脚本。

有关详细信息,请查看https://unix.stackexchange.com/questions/29786/font-size-issues-with-emacs-in-linum-mode/146781#146781

<强>更新

刚看到你的评论说你没有使用刀片。

将所有内容传输到刀片服务器并不困难,只需将其全部复制到新文件中并将其另存为.blade.php并更新控制器中的引用。

如果给出了它生成的URL,您应该可以手动将它们放在一起,只需导航到该URL就可以测试它们。看看你得到了什么。

我强烈建议使用刀片,它会让Laravel的生活变得更容易,因为它拥有所有帮助器和你可以使用的语法。