从Javascript链接到Laravel的公共目录

时间:2016-12-18 02:00:25

标签: javascript laravel

我正在尝试打开一个项目,但该项目要求我包含库.js文件的路径。库文件位于Laravel的公共目录中。需要该路径的文件是一个javascript文件,我无法像在Laravel中的html文件中那样使用{{ asset() }}进行调用。

我的意思是,通常在html中我使用:

<script src="{{ asset('js/ui-screenfull.js') }}"></script>

我的问题是,如何在javascript中链接到Laravel的公共目录中的库?

库js文件和需要的js文件都在公共文件夹中,所以作为一种方式,我试着给它正常的路径,如:

(这是需要javascript文件的代码段):

uiLoad.load('../libs/screenfull/dist/screenfull.min.js');

但这不起作用。使用它认为需要获取链接内容:http://example.app/libs/screenfull/dist/screenfull.min.js而不是public/js/libs/screenfull/~

我需要获取公共目录或在路径之间移动。

完整档案:

(function ($) {
    "use strict";

    uiLoad.load('../libs/screenfull/dist/screenfull.min.js');
    $(document).on('click', '[ui-fullscreen]', function (e) {
        e.preventDefault();
        if (screenfull.enabled) {
          screenfull.toggle();
        }
    });
})(jQuery);

目录列表:

public
  - scripts
       - requiring.js
  - libs
       - screenfull / dist / screenfull.min.js

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。

一个是 - 您可以在<head>

中定义此元标记
<meta name="asset_url" content="{{ asset('/') }}"/>

然后将url分配给变量:

var asset_url = $('meta[name=asset_url]').attr('content');

然后您可以使用asset_url变量来引用公共路径:

uiLoad.load(asset_url + 'libs/screenfull/dist/screenfull.min.js');