Laravel: yt-player не отображается - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь отобразить проигрыватель YouTube с Laravel, используя API yt-player: https://www.npmjs.com/package/yt-player

Вот мой шаблон Laravel show.blade.php.

@extends('layouts.app')
@section('content')
<html>
<head>
<script>
    import * as YTPlayer from 'yt-player';

    this.player = YTPlayer;
    this.player.load('blL9B_dzhoI');
    this.player = new YTPlayer('#player', {
        controls : true,
        related : false,
        info : false,
    });

    this.player.setVolume(100);
</script>
</head>

<body>
<div class="row">
   <div class="col colonne-video"> <div id="player"></div> </div>
   <div class="col colonne-interactive"> some text </div>
</div>
</body>
</html>
@endsection

Я не получил ошибку в терминале Laravel, но одну в консоли Chrome:

Uncaught SyntaxError: Невозможно использовать оператор импорта вне модуля

Я не понимаю эту ошибкуи если это причина, по которой плеер YouTube даже не отображается на экране.

1 Ответ

0 голосов
/ 21 октября 2019

Вы не можете использовать оператор импорта непосредственно внутри тега скрипта, так как ваш браузер не имеет доступа к установленным вами пакетам npm.

Вместо этого вам нужно загрузить пакет внутри вашегоresources/js/app.js (который будет скомпилирован Laravel Mix).

Добавьте что-то подобное в app.js:

window.YTPlayer = require('yt-player')

Затем скомпилируйте JavaScript (yarn dev) и добавьтескомпилированный js-файл на вашу страницу ({{ mix('js/app.js') }}).

Теперь вы можете использовать пакет в теге скрипта следующим образом:

    var player = new YTPlayer('#player', {
        controls : true,
        related : false,
        info : false,
    });

    player.load('blL9B_dzhoI')
    player.setVolume(100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...