我正在使用Laravel 4

如何在.css或.js文件中添加指向图像的链接。

如果我这样说相对路径:

background-image: url("../assets/images/assets.png");


仅当我的视图是这样时,它才会加载文件

/mysite/users


如果我的观点的网址从

/mysite/users




/mysite/users/job/10/something


它不会加载。

我可以这样写完整的路径:

    background-image: url("/mysite/assets/images/assets.png");


但是,如果必须创建该站点的副本(例如“ theSite”),则必须打开我的所有CSS文件和.js文件,并将/ mysite替换为/ theSite

有什么聪明的方法吗?就像我在视图中使用的那样:

{{ URL::to('style.css') }}




EDITED


ceejayoz是正确的。

但是,如果您需要一个调用Controller的.js文件,则可以执行以下操作:

创建此路线:

Route::get('/js/custom.js ', function()
{

    $contents = View::make('js/custom');
    $response = Response::make($contents, 200);
    $response->header('Content-Type', 'application/javascript');
    return $response;
});


创建custom.blade.php视图并将此js内容放入:

$('#inputX').change(function() {
    $.ajax({
            url: "{{URL::to('track/data')}}",
            type: "GET",
            cache: false,
            async: sync,
            data: {
                doit: $('#inputX').val()
            },
            success: function(data)
            {
                console.log(data)
            }
    });

});


你怎么看待这件事?

最佳答案

CSS文件中的URL是相对于CSS文件的,而不是相对于其使用的页面的。所在页面的URL是什么都无关紧要-如果CSS位于public/css中并且您使用../images/something.jpg,则无论页面URL是什么,它将使用public/images/something.jpg

10-07 19:53
查看更多