wonTech

プログラミングもろもろ

.css,.jsファイルが読み込めなかった問題の原因

わかってみれば初歩的なミスだった。原因はパスの記述ミス。

前に貼ったアプリを作ったとき、css・jsファイルのどちらもpublic以下に専用フォルダを作ってそこに入れていた。

// style.cssの場所
/public/css/style.css
//test.jsの場所
/public/js/test.js

これを読み込むためにlayout.blade.phpで下のように書いていた。

// layout.blade.php
<!doctype html>
<html lang="ja">
<head>
	<meta charset="utf-8">
	<title>BBS</title>
	{{ HTML::style('public/css/style.css') }}
        {{ HTML::script('public/js/test.js') }}
</head>
. . . .

HTML::script、HTML::styleどちらも、相対パスを書くときはベースURLが

localhost/laravel4/public

になるため、実際にはをpublic以下のパスを書かないといけないみたいだ。つまり、上のコードの場合

{{ HTML::style('css/style.css') }}
{{ HTML::script('js/test.js') }}

と書けば読み込めた。
HTML::styleでなくタグにasset()を埋め込むやり方の場合も同様のようです。

参考:
HTML::style()メソッド | WinRoadのLaravel4初心者講座
Laravel-Bladeを試してみた | Shimabox Blog