我是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"文件夹下的文件。
我不使用刀片模板
只是为了扩展Eduardo给出的答案,asset
URL帮助器是您所需要的。
本质上它生成一个动态的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应用程序将能够将其解析为所需的脚本。
更多信息请查看文档
刚刚看到你的评论说你没有用刀片。
这不会很难转移你有刀片,只是复制到一个新的文件,并保存为.blade.php
和更新你的控制器引用。
否则,给定它生成的URL,你应该能够手动把这些放在一起,你可以简单地通过导航到那个URL来测试它们,看看你得到什么。
我强烈建议使用blade,它将使使用Laravel变得更容易,因为它有所有的帮助器和你可以使用的语法。
你应该试试这个(假设你的文件名是js.js):
<script src="{{ asset('angular/js.js') }}"></script>
你在用刀片吗?