Laravel に skyway を載せたいが Uncaught TypeError になる


Laravel で skyway のデモをセキュアな形でやってみたいのですが表題のエラーが Chrome のF12により表示されて困っています。

[![画像の説明をここに入力](https://i.stack.imgur.com/O8NAi.png)](https://i.stack.imgur.com/O8NAi.png)

skyway 概要  
<https://skyway.ntt.com/ja/docs/user-guide/>

添付画像の「①エラー表示コンソール」にエラーメッセージが表示されています。  
その下は「②skyway-sdk」がインストールされている場所になります  
さらにその下は「③main.js」の場所になります。  
main.js はblade からこのように呼んでいます。

[code]

    <script type="module" src="{{ asset('js/main.js') }}">
    
[/code]

エラーメッセージにあるように"from '@skyway-sdk/room'"を下記のようにしてみました。

[code]

    from '/@skyway-sdk/room'
    from './@skyway-sdk/room'
    from '../@skyway-sdk/room'
    
[/code]

で、それぞれ`sail npm run dev`を打ってみましたが、今度はNot found 404 になって改善しませんでした。  
※例えば'./@skyway-sdk/room'とした場合は、  
`GET http://localhost/js/@skyway-sdk/room net::ERR_ABORTED 404 (Not Found)`  
と表示されます

解決方法がお判りになる方がいらっしゃいましたらご教示いただけますと助かります。  
よろしくお願いいたします。

【環境】  
Laravel 10.13.5  
Docker 24.0.02  
Composer 2.5.8  
PHP 8.2.7

【skyway】main.js は↓ココにあります  
<https://github.com/skyway/js-sdk/tree/main/examples/p2p-room>




既に解決されているかもしれませんが、参考までに記載いたします。

> 環境構築 [NPM を利用する場合]

というセクションをご覧になっていたかと思いますが、  
この場合はアセットをコンパイルするやり方になりますので、  
public配下のjavascriptファイルにこの書き方を直接することはできません。  
Laravelであれば、resources配下のファイルに記載した上でコンパイルすることになります。

もしpublic配下のjavascriptファイルに直接書くのであれば、

> 環境構築 [CDN を利用する場合]

というセクションを参照してください。  
ただし、公式にも記載のある通り、

> 本チュートリアルでは、すぐに通信を試していただくために、トークン生成をフロントエンドで実装していますが、 本来はSkyWay Auth Token
> はサーバーアプリケーションで生成してクライアントアプリケーションに渡すようにするべきです。
> クライアントアプリケーションでトークン生成を行った場合、任意の room に入ることができるようなトークンを第三者が作成する可能性があります。

ということで、直接このサンプルをそのまま使うことはおすすめできませんのでご注意ください。




既に解決されているかもしれませんが、参考までに記載いたします。

> 環境構築 [NPM を利用する場合]

というセクションをご覧になっていたかと思いますが、  
この場合はアセットをコンパイルするやり方になりますので、  
public配下のjavascriptファイルにこの書き方を直接することはできません。  
Laravelであれば、resources配下のファイルに記載した上でコンパイルすることになります。

もしpublic配下のjavascriptファイルに直接書くのであれば、

> 環境構築 [CDN を利用する場合]

というセクションを参照してください。  
ただし、公式にも記載のある通り、

> 本チュートリアルでは、すぐに通信を試していただくために、トークン生成をフロントエンドで実装していますが、 本来はSkyWay Auth Token
> はサーバーアプリケーションで生成してクライアントアプリケーションに渡すようにするべきです。
> クライアントアプリケーションでトークン生成を行った場合、任意の room に入ることができるようなトークンを第三者が作成する可能性があります。

ということで、直接このサンプルをそのまま使うことはおすすめできませんのでご注意ください。

