我在引用Laravel的"公共"文件夹中的angularJS文件时遇到了麻烦。我的公用文件夹结构如下所示:
public
-css
-js
-services
-controllers
-app.js
我在"应用程序/视图"文件夹中有我的"索引.php"文件。当我转到应用程序 http://localhost 的主页时,浏览器会按预期将我带到索引.php文件。
在我的"index.php"文件中,我想在"public/js"下引用我的javascript文件,我得到"GET http://localhost/js/app.js 404(未找到)" - 在浏览器控制台中意味着找不到这些文件。这些是我尝试将它们包含在"index.php"文件中的一些选项:
1. <script src="js/app.js"></script>
和
编辑:
<script src="<?php echo asset('/js/app.js'); ?>">
<script src="<?= url('js/app.js') ?>">
和
- 我试图将 js/app.js移动到文件夹资源或资源/视图。
- 我试图只将应用程序移动到资源/视图.js
所有这些选项都找不到"公共"文件夹下的文件。我不使用刀片
我的文件看起来像:
索引.php
<!DOCTYPE html>
<html lang=eng>
<head>
<meta charset="UTF-8">
<title>Welcome </title>
<!-- CSS -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css"> <!-- load bootstrap via cdn -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css"> <!-- load fontawesome -->
<style>
body { padding-top:30px; }
/* form { padding-bottom:20px; }
*/ </style>
<!-- JS -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="js/app.js">
</script> <!-- load our application --><!-- load our application -->
</head>
<body class="container" ng-app="user1App" ng-controller="mainController">
<div class="user1" ng-repeat="user1 in user1s">
<h3> <small>{{ user1.name }} , {{ user1.email }}</small></h3>
<p>{{ user1.phone_number }}</p>
</div>
</body>
</html>
应用.js
angular.module('user1App', [
]);
angular.module('user1App').controller('mainController', function($scope, $http, User1, $sce) {
$http.get('api/v1/jokes').success(function(data) {
$scope.user1s = data;
});
}
我的配置/视图.php看起来像:
'paths' => [
realpath(base_path('resources/views')),
],
有关我的代码的更多信息,请查看此处 AngularJS 不会在 Laravel5 中显示(解析)随 $http.get 一起提供的数据
控制台中的错误:
GET http://localhost/js/app.js 404 (Not Found)
.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
请帮忙,我真的没有看到问题,无法在任何地方谷歌它。
谢谢
将文件保留在public/js
并像以下方式检索:
<script src="<?= url('js/app.js') ?>">
你提到做<script src="{{ asset('/js/app.js') }}">
,但它应该包含js/app.js
而不是/js/app.js
,如果你不使用刀片,显然用 php 标签替换{{ }}
。
如果不使用刀片
<script src="{{ asset('/js/app.js') }}">
它不起作用,因为"{{"是刀片的功能,所以你可以做的是:
<script src="<?php echo asset('/js/app.js'); ?>">