Laravel 5에 외부 CSS 및 JS 파일을 포함하는 방법


81

나는 Laravel 5.0을 사용하고 있으며 Form 및 Html Helper 가이 버전에서 제거되었습니다. 내 헤더 파일에 외부 CSS 및 JS 파일을 포함하는 방법을 모르겠습니다. 현재이 코드를 사용하고 있습니다.

<link rel="stylesheet" href="/css/bootstrap.min.css"> <!---  css file  --->
<script type="text/javascript" src="/js/jquery.min.js"></script>

1
상위 답변을 답변으로 표시 할 수 있습니까? 유효한 정보이며 요청한대로 작동합니다.
Kerwin Sneijders

답변:


126

나는 이것이 올바른 방법이라고 생각합니다.

<script type="text/javascript" src="{{ URL::asset('js/jquery.js') }}"></script>

여기 js에 laravel의 app/public폴더에 디렉토리가 있습니다. 거기에 jquery.js파일이 있습니다. URL :: asset () 함수는 필요한 URL을 생성합니다. CSS도 동일합니다.

<link rel="stylesheet" href="{{ URL::asset('css/somestylesheet.css') }}" />

도움이 되었기를 바랍니다.

오래된 방법은 다음과 같습니다.

{{ Form::script() }}

{{ Form::style() }}

더 이상 사용되지 않으며 Laravel 5에서 작동하지 않습니다!


3
또한 Laravel 5의 assets 디렉토리는이 파사드와 관련이 없습니다. 잠시 혼란스러워서 URL::asset말 그대로 공용 폴더를 가리킬 것입니다.
jeanpier_re 2015-08-18

5
네, 맞습니다. asset()도우미 메서드를 사용할 수도 있습니다 . 동일한 작업을 수행합니다.
Todor Todorov

왜 당신은 간단하게 작성하지 src="/js/jquery.js"href="https://stackoverflow.com/css/somestylesheet.css"?
아담

나는 일반적으로 사용 asset()하고 작동합니다. 누군가 차이를 설명 할 수 있습니까?
새벽

가장 큰 차이점은 루트 수준에서 항상 파일을 예상하기 asset()때문에 추가 src="/js/jquery.js"가 작동하지 않는 하위 디렉토리에서 액세스 할 때도 작동 하며 해당 js 파일은 따라서 404s
cnu

34

시도 해봐.

스타일 시트에 경로를 전달할 수 있습니다.

{!! HTML::style('css/style.css') !!}

javascript 경로를 전달할 수 있습니다.

{!! HTML::script('js/script.js') !!}

composer.json 파일 의 require 섹션에 다음 행을 추가하고 composer update "illuminate / html": "5. *"를 실행하십시오 .

제공자 배열에 다음 값을 추가하여 config / app.php 에 서비스 제공자를 등록하십시오 .

'Illuminate\Html\HtmlServiceProvider'

aliases 배열에 다음 두 줄을 추가하여 파사드를 등록합니다.

'Form'=> 'Illuminate\Html\FormFacade', 'HTML'=> 'Illuminate\Html\HtmlFacade'


5
html로 및 양식 클래스 Laravel 5에서 제거
만수르 악 타르

1
다음을 추가했지만 웹 페이지에 링크가 <link media = "all"type = "text / css"rel = "stylesheet"href = " localhost / myapp / public / css / test.css ">로 인쇄됩니다
만수르 악 타르

1
이것은 내 문제를 해결했습니다 {!! HTML :: 스타일 ( '공공 / CSS / bootstrap.css')!}
만수르 악 타르

2
HTML 패키지에 대한 활성 유지 관리는 Laravel Collective에 의해 인수되었습니다. laravelcollective.com/docs/5.0/html
winkbrace

정확히 어디에 이것을 써야하나요, {!! HTML :: script ( 'js / script.js') !!}, js 연결 문제가 있습니다
Seeker

24

laravel 5.1에서는

 <link rel="stylesheet" href="{{URL::asset('assets/css/bootstrap.min.css')}}">
 <script type="text/javascript" src="{{URL::asset('assets/js/jquery.min.js')}}"></script>

자산 폴더 위치가 공용 폴더 내에있는 경우


16

나는 이런 식으로 사용하므로 CSS 파일을 공용 폴더에 넣는 것을 잊지 마십시오.

예를 들어 부트 스트랩 CSS를

"root/public/bootstrap/css/bootstrap.min.css"

헤더에서 액세스하려면 :

<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" >

이 도움을 바랍니다


10

자산을 공용 디렉토리에 배치하고 다음을 사용하십시오.

URL::to()

<link rel="stylesheet" type="text/css" href="{{ URL::to('css/style.css') }}">
<script type="text/javascript" src="{{ URL::to('js/jquery.min.js') }}"></script>


5

처음에는 .css또는 .js파일을 public프로젝트 폴더에 넣어야합니다 . 하위 폴더를 생성하고 파일을 하위 폴더로 이동할 수 있습니다. 그런 다음 다음을 수행해야합니다.

<link rel="stylesheet" href="{{asset('css/your_css_file.css')}}">
<script src="{{asset('js/your_js_file.js')}}"></script>

내 예에서는 css와 js라는 두 개의 하위 폴더를 만들었습니다. 모든 .css.js파일을 해당 폴더에 넣고 원하는 곳에서 사용합니다. 감사합니다. 도움이 되었기를 바랍니다.


3

좋아, 나는 버전 5.2를 알아낼 수 있었다. 먼저 공용 폴더에 자산 폴더를 만든 다음 css 폴더와 모든 css 파일을 여기에 넣은 다음 다음과 같이 연결해야합니다.

<link href="assets/css/bootstrap.min.css" rel="stylesheet">

도움이 되었기를 바랍니다.


내 CSS 파일이 블레이드보기에서 연결되지 않았습니다. 문제는 내가 블레이드 전망 / / 자원 / 자산 / CSS에 넣어했다, 그러나이 솔루션은 내가 / 자산 / CSS /에 / 공공 넣어 필요했다
앤드류 코 페르

3

Laravel 5.5에는 Elixir의 대체품 인 mix가 포함되어 있으며, 외부 css (sass)는 resources / assets / css (sass)로 추출하고 app.css (scss)로 가져 오거나 다음이 포함 된 node_module 폴더에 올바른 경로를 제공 할 수 있습니다. 라이브러리로 사용할 수 있습니다.

<link rel="stylesheet" href="{{ mix('css/app.css') }}" >

자바 스크립트도 마찬가지입니다.


확실하지는 않지만 Mix 컴파일 된 리소스를 사용하는 경우에만 작동한다고 생각합니다 (버전 화 된 파일을 생성 한 후). ( laravel.com/docs/5.5/mix#sass )
creg

<link rel = "stylesheet"href = "{{mix ( 'path / file')}}"> 사용은 5.5 laravel.com/docs/5.5/mix#versioning-and-cache-busting
gtamborero

2

먼저 Illuminate Html 도우미 클래스를 설치해야합니다.

composer require "illuminate/html":"5.0.*"

다음으로 /config/app.php를 열고 다음과 같이 업데이트해야합니다.

'providers' => [

...

Illuminate\Html\HtmlServiceProvider::class,
],

'aliases' => [

...

'Form' => Illuminate\Html\FormFacade::class, 
'HTML' => Illuminate\Html\HtmlFacade::class,
],

작동하는지 확인하려면 다음 명령을 사용하십시오.

php artisan tinker
> Form::text('foo')
"<input name=\"foo\" type=\"text\">"

파일에 외부 CSS를 포함하려면 다음 구문을 사용하십시오.

{!! HTML::style('foo/bar.css') !!}

그는 "이 버전에서 Form 및 Html Helper가 제거되었습니다"라고 말했습니다. 그는 HTML 도우미를 사용하지 않습니다 ..하지만
MaXi32

이것은 Laravel 5.0에서 지원을 다시 가져 와서 그가 익숙한 구문을 사용할 수있게하는 방법입니다. 그는 특히 지원이 제거되고 외부 파일을 포함하는 다른 방법을 알지 못하기 때문입니다.
miniPax

2

정확하고 안전한 방법


페이지에 추가 할 외부 .css또는 .js파일 이있는 경우 !

내 버전 : Laravel Framework 5.7

외부 .js파일 을 추가하려면 ..

  1. 외부 코드를 복사하십시오.
  2. npm install터미널에서 명령 을 실행하십시오 .
  3. 위의 명령을 실행하면라는 이름의 폴더를 볼 수 있습니다 node_modules.
  4. 그런 다음 resources / js 로 이동하십시오 .
  5. 파일 열기 app.js.
  6. 아래로 스크롤 하여 External JS를 붙여 넣습니다 .
  7. 마지막으로 npm run dev터미널에서 명령 을 실행 하십시오.

스크립트가 업데이트되고 컴파일되어 public/js/app.js. .js공용 폴더에 파일 을 추가하면 페이지에 영향을주지 않습니다.


외부 .css파일 을 추가하려면 ..

  1. 외부 스타일을 복사하십시오.
  2. npm install터미널에서 명령 을 실행하십시오 .
  3. 위의 명령을 실행하면라는 이름의 폴더를 볼 수 있습니다 node_modules.
  4. 그런 다음 resources / sass 로 이동하십시오 .
  5. 파일 열기 app.scss.
  6. 아래로 스크롤 하여 외부 스타일을 붙여 넣습니다 .
  7. 마지막으로 npm run dev터미널에서 명령 을 실행 하십시오.

스크립트가 업데이트되고 컴파일되어 public/css/app.css. .css공용 폴더에 파일 을 추가하면 페이지에 영향을주지 않습니다.

  • 외부 .css 및 .js를 추가하는 가장 쉽고 안전한 방법입니다.

Laravel JavaScript 및 CSS 스캐 폴딩

YouTube 컴파일 저작물


1

파티에 늦었을지 모르지만 간단히 asset () 함수를 사용하여 Laravel Way에 JS 및 CSS를 포함하는 것은 쉽습니다.

예 : <link rel="stylesheet" href="{{ asset('css/app.css') }}" />

도움이되는 희망


1

나는 사용하고있다

<script type="text/javascript" src="{{ URL::asset('js/jquery.js') }}"></script> 
for javascript and 
     <link rel="stylesheet" href="{{ URL::asset('css/main.css') }}">
for css, this points to the public directory, so you need to keep your css and js files there.

0

아래 코드에 지정된대로 외부 css 및 js 파일을 포함하는 방법에는 여러 가지가 있지만 그중 하나를 선택할 수 있으며 모두 테스트했으며 동일하게 작동합니다.

<link rel="stylesheet" href="{{ asset('css/stylesheet.css') }}" /><!--Recommended-->
<link rel="stylesheet" href="{{ URL::asset('css/somestylesheet.css') }}" />
<link rel="stylesheet" href="{{ URL::to('css/otherstylesheet.css') }}" />
<link rel="stylesheet" href="{{ url('css/anotherstylesheet.css') }}" />

로드하는 방법이 더있을 수 있습니다.

그러나 공용 폴더가 아닌 다른 곳에서 css 및 js를로드하는 경우 Laravel mix.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.