좋아요.이게 정말 초보적인 문제라는 건 알지만 알아낼 수 없습니다. 라 라벨에 관한 질문입니다.
기본적으로 기본 레이아웃보기에 스타일 시트가 포함되어 있습니다. 나는 현재 다음과 같은 일반 CSS를 사용하여 연결하고 있습니다.
<link rel="stylesheet" href="css/app.css" />
/ about 과 같은 단일 레벨 경로에있을 때는 훌륭하게 작동 하지만 / about / me 와 같이 더 깊이 들어가면 작동을 멈 춥니 다 .
Chrome의 개발자 콘솔을 보면 다음 오류 중 일부가 표시됩니다 (더 깊은 경로에만 해당).
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://example.dev/about/css/app.css".
이제 분명히 “about”폴더에서 CSS를 찾고 있습니다. 물론 폴더는 전혀 아닙니다.
경로에 관계없이 자산에 대해 동일한 위치에 표시되기를 원합니다.
답변
Laravel 4 및 5의 경우 :
<link rel="stylesheet" href="{{ URL::asset('assets/css/bootstrap.min.css') }}">
URL::asset
project/public/
폴더에 링크 되므로 스크립트를 거기에 넣으십시오.
참고 : 이를 위해 ” 블레이드 템플릿 엔진 ” 을 사용해야합니다 . 블레이드 파일은 .blade.php
확장자를 사용합니다 .
답변
라 라벨 4
이를 수행하는 더 좋고 올바른 방법
CSS 추가
HTML :: style은 프로젝트 / 공용 / 폴더에 링크됩니다.
{{ HTML::style('css/bootstrap.css') }}
JS 추가
HTML :: script는 프로젝트 / 공용 / 폴더에 연결됩니다.
{{ HTML::script('js/script.js') }}
답변
자산에 상대 경로를 사용하고 있으며 절대 경로로 변경하면 모든 것이 작동합니다 ( “css”앞에 슬래시를 추가합니다.
<link rel="stylesheet" href="/css/app.css" />
답변
Laravel 5 에서는
뷰에 js 파일을로드하는 두 가지 방법이 있습니다.
먼저 html 도우미를 사용하고 두 번째는 자산 도우미를 사용하는 것입니다.
html 도우미를 사용하려면 먼저 명령 줄을 통해이 패키지를 설치해야합니다.
composer require illuminate/html
그런 다음 다시 요청해야하므로 config / app.php로 이동하여이 행을 제공 업체 배열에 추가하십시오.
'Illuminate\Html\HtmlServiceProvider'
그런 다음 html 패키지의 별칭을 정의해야하므로 config / app.php의 별칭 배열로 이동하여 이것을 추가하십시오.
'Html' => 'Illuminate\Html\HtmlFacade'
이제 html 도우미가 설치되었으므로 블레이드보기 파일에 다음과 같이 작성할 수 있습니다.
{!! Html::script('js/test.js') !!}
project_root / public / js / test.js에서 test.js 파일을 찾습니다.
///////////////////////////////////////////////// ////////////
html 도우미 대신 자산 도우미를 사용하려면보기 파일에 다음과 같이 sth를 작성해야합니다.
<script src="{{ URL::asset('test.js') }}"></script>
project_root / resources / assets / test.js에서 test.js 파일을 찾습니다.
답변
Laravel 3과 CSS / JS 파일을 공용 폴더 안에 사용하는 경우
public/css
public/js
다음과 같이 Blade 템플릿에서 사용하여 호출 할 수 있습니다.
{{ HTML::style('css/style.css'); }}
{{ HTML::script('js/jquery-1.8.2.min.js'); }}
답변
{project} /application/routes.php 전에 경로 필터에 넣는 것이 좋습니다.
Route::filter('before', function()
{
// Do stuff before every request to your application...
Asset::add('jquery', 'js/jquery-2.0.0.min.js');
Asset::add('style', 'template/style.css');
Asset::add('style2', 'css/style.css');
});
블레이드 템플릿 엔진 사용
{{ Asset::styles() }}
{{ Asset::scripts(); }}
이상에 laravel 관리 자산 문서
답변
에서 laravel 4
방금 붙여 넣을 수있는 {{ URL::asset('/') }}
이 방법 :
<link rel="stylesheet" href="{{ URL::asset('/') }}css/app.css" />.
다음의 경우에도 동일합니다.
<script language="JavaScript" src="{{ URL::asset('/') }}js/jquery.js"></script>
<img src="{{ URL::asset('/') }}img/image.gif">