Laravel-mix,Javascript和范围

时间:2019-01-18 06:28:51

标签: javascript laravel webpack laravel-mix

我在laravel框架上的javascript中访问函数时遇到问题。我有一个名为PILE.JS的文件,在该文件中,我有一个如下所示的函数:

    function initPile(json) {
       ...
    }

使用laravel-mix对其进行“编译”,并放置在我的public / js文件夹中,并包含以下内容:

<script src="{{ asset('/js/pile.js') }}" type="text/javascript" defer></script>

但是当我尝试使用像这样的文件中的函数时:

        <script type="text/javascript" defer>

            initPile('@json($data)');

         </script>

我收到错误:ReferenceError:未定义initPile

我尝试了google这个错误,所有结果都显示了im,以便使用

将其分配给全局变量
window.initPile = function(json) { ... }

然后这样称呼它

window.initPile('@json($data)');

但这只会导致相同的错误.....

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,解决方案是将其分配给窗口,但是因为我不得不推迟两个脚本标签的使用,所以函数在声明之前就被调用了。