我尝试在laravel中开发一个项目,除其他外,我必须使用socket.io。 我在自己的文件中实现了一个类作为socket.io-client的包装器。 我在laravel视图中导入该文件。
我想在laravel视图中的脚本标记中实例化一个套接字对象,以便能够从该视图传递变量,但是我收到此错误:未捕获的ReferenceError:未定义套接字
问题是,我可以在脚本标签中使用,这是在导入文件中定义的类吗?
LE:提供的代码
Laravel视图
@section('scripts')
<script src="{{ asset('js/diagram.js') }}"></script>
<script src="{{ asset('js/socket.js') }}"></script>
<script>
let socket = new Socket("http://localhost:8080", {!! $id !!});
socket.connect();
</script>
@endsection
套接字包装(只是其中的一部分)
import io from 'socket.io-client';
class Socket
{
constructor(strURL, diagramId)
{
this.strURL = strURL;
this.diagramId = diagramId;
}
connect()
{
this.socket = io.connect(this.strURL);
// Send the diagram id to include socket into a room
this.socket.emit('diagram', this.diagramId)
}
}
答案 0 :(得分:0)
当js尝试执行内联脚本
时,似乎尚未加载socket.js