【问题标题】:Laravel-mix, Javascript and scopeLaravel 混合,Javascript 和范围
【发布时间】:2024-10-17 17:00:01
【问题描述】:

我在访问 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 is not defined

我尝试用谷歌搜索这个错误,所有结果都说我使用

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

然后这样称呼它

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

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

【问题讨论】:

    标签: javascript laravel webpack laravel-mix


    【解决方案1】:

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

    【讨论】: