Laravel5に外部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
一番上の答えを答えとしてマークできますか?それは有効な情報であり、あなたが尋ねたように機能するので。
KerwinSneijders19年

回答:


126

私は正しい方法はこれだと思います:

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

ここにjs、laravelのapp/publicフォルダーにディレクトリがあります。そこにjquery.jsファイルがあります。関数URL :: assets()は、必要なURLを生成します。cssについても同じです。

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

お役に立てれば。

古い方法は次の点に注意してください。

{{ Form::script() }}

そして

{{ Form::style() }}

は非推奨であり、Laravel 5では機能しません!


3
また、Laravel5のアセットディレクトリはこのファサードに関連付けられていないことに注意してください。それは私を少し混乱させました、URL::asset文字通りあなたのパブリックフォルダを指します。
jeanpier_re 2015

5
はい、そうです。asset()ヘルパーメソッドを使用することもできます。それは同じ仕事をします。
Todor Todorov 2015

なぜあなたは、単純に書いていない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。*"

次の値をproviders配列に追加して、サービスプロバイダーをconfig /app.phpに登録します。

'Illuminate\Html\HtmlServiceProvider'

エイリアス配列に次の2行を追加して、ファサードを登録します。

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


5
HTMLクラスとフォームクラスはLaravel5から削除されました
Mansoor Akhtar 2015年

1
以下を追加しましたが、これはWebページに<link media = "all" type = "text / css" rel = "stylesheet" href = " localhost / myapp / public / css / test.css ">
Mansoor Akhtar 2015年

1
これで私の問題は解決しました{!! HTML :: style( 'public / css / bootstrap.css')!!}
Mansoor Akhtar 2015年

2
HTMLパッケージのアクティブなメンテナンスは、LaravelCollectiveに引き継がれています。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という2つのサブフォルダーを作成しました。すべてのファイル.css.jsファイルを対応するフォルダーに入れて、好きな場所で使用します。ありがとう、そしてこれがあなたを助けることを願っています。


3

さて、バージョン5.2を理解することができました。最初にパブリックフォルダーにアセットフォルダーを作成し、次にcssフォルダーとすべてのcssファイルをその中に配置してから次のようにリンクする必要があります。

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

お役に立てば幸いです。


ブレードビューでCSSファイルがリンクされていませんでした。問題は、ブレードビューを使用して/ resources / assets / css /に配置したことでしたが、解決策は/ public / assets / css /に配置する必要がありました
Andrew Koper 2016年

3

Laravel 5.5にはmixが付属しており、Elixirの代わりに、外部css(sass)をresources / assets / css(sass)に抽出して、app.css(scss)にインポートするか、node_moduleフォルダーへの正しいパスを指定できます。ライブラリととして使用することができます

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

Javascriptでも同じことができます。


よくわかりませんが、(バージョン管理されたファイルを生成した後)Mixコンパイル済みリソースを使用する場合にのみ機能すると思います。(laravel.com/docs/5.5/mix#sass
CREG

<リンクREL = "スタイルシート" HREF = "{{( 'パス/ファイルを')ミックス}}"> 5.5に新しい方法である使用laravel.com/docs/5.5/mix#versioning-and-cache-busting
gtamboreroは

2

まず、IlluminateHtmlヘルパークラスをインストールする必要があります。

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') !!}

彼は言った:「フォームとHTMLヘルパーはこのバージョンから削除されます」。彼は..かかわらず、HTMLヘルパーを使用したくない
MaXi32

これは、Laravel 5.0でそのサポートを取り戻す方法であり、サポートが削除され、外部ファイルを含める別の方法がわからないと具体的に述べているため、慣れ親しんだ構文を使用できるようになります。
miniPax 2015

2

正確で安全な方法


ページに追加する外部ファイル.cssまたは.jsファイルがある場合!

私のバージョン:Laravel Framework 5.7

外部.jsファイルを追加したい場合。

  1. 外部コードをコピーします。
  2. npm installターミナルでコマンドを実行します。
  3. 上記のコマンドを実行すると、という名前のフォルダが表示されますnode_modules
  4. 次に、resources / jsに移動します。
  5. ファイルを開きますapp.js
  6. 一番下までスクロールして貼り付けます外部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()関数を使用するだけで、JSとCSSをLaravelWayに含めるのは簡単です。

例えば <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ファイルを含める方法はたくさんありますが、そのうちの1つを選択できます。すべてテストしましたが、同じように機能します。

<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.