Laravel: какова наилучшая практика для внедрения на несколько страниц вложенного представления с javascript

#php #laravel

#php #laravel

Вопрос:

Я создаю приложение для социальных сетей.

На различных страницах, таких как страницы «профиль», «панель мониторинга» и «трендовые», я хочу отображать несколько сообщений.

Я создал post.blade.php файл в своей resources/views/includes папке.

Я включил этот файл на все страницы, которые требуют его, вот так:

 @foreach ($posts as $post)
    @include('includes.post', ['post' => $post])
@endforeach




@section('myJavascriptCode')
<script>
    // I want to paste in the Javascript code necessary for "includes.post" here
</script>
@endsection
 

Я предполагаю, что я должен написать соответствующий post.js файл и включить этот скрипт на каждую из моих страниц, на которых отображаются сообщения. Однако это было бы утомительно для поддержания параллелизма между моими файлами шаблонов blade и их соответствующими файлами js.

<script src="post.js"></script>

Если это так, в каком каталоге я должен хранить свой js? Я бы предположил, что в resources/js/includes каталоге, который имитирует путь, по которому хранится мой post.blade.php файл.

Ответ №1:

Сохраните свой js-файл в общей папке laravel и назовите его так, чтобы использовать

 <script src="{{asset('post.js')}}"></script>
 

это работает отлично

Ответ №2:

проверьте эту ссылку: https://laravel.com/docs/8.x/blade#stacks

вы можете использовать @stack и @push для импорта скрипта в родительский файл из дочернего.