什么是最好的方法,或者如何建议将Laravel 5.5与JS文件一起使用?

时间:2019-07-03 14:23:39

标签: laravel laravel-5 babeljs laravel-blade

我公开了我的疑问/问题。我目前正在使用Laravel 5.5进行项目。该项目有许多使用JQuery到服务器URL的AJAX请求。

目前,在我看来,我在刀片文件末尾有JS代码。

说明性示例:users.blade.php

<h1>Usuarios</h1>
@foreach ($users as $user)
    <p>{{ $user->name }} <span class="delete-user" data-user="{{ $user->id }}">Eliminar Usuario</span></p>
@endforeach

<script>
    $(document).on('click', '.delete-user', function () {
        $.ajax({
            url: "{{ route('users.delete') }}",
            type: "POST",
            data: { id: $(this).data('user') }, 
            dataType: "JSON",
            success: function (response) {
                // Hacer algo
            },
            error: function (jqXHR, timeout, message) {
                // Hacer otra cosa
            }
        });
    });
</script>

如上例所示,我有用户视图,然后单击具有delete-user类的元素,将对服务器进行AJAX调用。

这是大多数项目视图的工作方式。我不知道以这种方式处理它有多正确,但是那是我做到的方式,没有办法。

该项目主要使用ES6功能,但是该项目必须在某些不支持这些功能的浏览器的较旧版本中运行,所以我决定将BabelJS用于JS代码。

现在的问题是,每个视图或blade.php文件都具有JS代码,要使用BabelJS太费力,无法从每个视图中获取代码,并用BabelJS对其进行转换,然后将其粘贴到视图中。我知道这不是正确,最佳或推荐的方法。

我认为这种想法是将项目的所有JS移至public / js文件夹中的相应JS文件,并在该路径上使用BabelJS,但是碰巧从JS文件中我无法使用PHP变量或函数,例如:

route('users.delete')

用于AJAX请求路径。

我已经考虑过我的项目的页脚,用url和其他AJAX请求所需的值等定义JS常量。但是我不知道这是否是最佳选择。

在某些情况下,以及建议使用需要从PHP或以一般方式传递的变量或值的JS代码的情况下,您如何建议管理JS代码以使其与刀片视图分开,但我可以将其制作为AJAX请求到我的项目路径吗?

0 个答案:

没有答案