我的localhost使用laravel路径打开我的视图,该视图有效:
http://localhost/view/stock/equipment
Laravel 4路线返回我的观点:
Route::get('view/stock/equipment', array('uses'=>'App\Controllers\Stock\EquipmentController@getIndex'));
我的观点包含:
{{ HTML::script('js-views/stock/equipment/bootstrap.js') }}
在我的html页面中显示为:
<script src="http://localhost/js-views/stock/equipment/bootstrap.js"></script>
但是bootstrap.js不会加载,当我看到使用firebug时,我发现它没有从正确的路径加载:
GET http://localhost/view/stock/bootstrap.js 404 Not Found
我可以看到来自laravel路线的'视图/库存部分'。
在Laravel中正确设置了公共路径。
怎么会这样?
答案 0 :(得分:1)
那么如果你在浏览器中转到http://localhost/js-views/stock/equipment/bootstrap.js
会怎样?你应该看到javascript文件。
为什么将javascript与库存设备一起存储?将它放在资产文件夹中会不会更好?这是我如何构建我的资产(在laravel/public
下):
assets/
css/
img/
js/
在assets.php
配置文件中定义路径:
return array(
'css' => '/assets/css',
'img' => '/assets/img',
'js' => '/assets/js'
);
然后使用辅助函数返回其URL:
class Asset
{
private static function getUrl($type, $file)
{
return URL::to(Config::get('assets.' . $type) . '/' . $file);
}
public static function css($file)
{
return self::getUrl('css', $file);
}
public static function img($file)
{
return self::getUrl('img', $file);
}
public static function js($file)
{
return self::getUrl('js', $file);
}
}
为了显示图像,我可以这样做:
HTML::image(Asset::img('logo/full.png'), "My website logo")
但我让MaxCDN为我主持Bootstrap(代码来自Bootstrap website):
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
答案 1 :(得分:0)
将javascript文件保存到/ var / www / yourprojectname / public folder / js
并使用<script src="{{ asset('js/main.js') }}"></script>