I spent some time exploring spark2.0 + laravel-echo, and here are some of the things I've worked out.. so far. By no means am I an expert on these things, and I'm probably missing something obvious.
If you instantiate Echo from resources/assets/js/bootstrap.js per the docs, it isn't available to your vue components.
If you move this to the start of resources/assets/js/app.js, it is available.
In resources/assets/js/bootstrap.js you must change the object name Laravel to Spark in the Vue.http.interceptors.push {closure?} for the csrfToken.
Hey CitizenZed, I can definitely vouch for the Echo bootstrap issue. I spent a good amount of time troubleshooting that one today.
I didn't have to touch the CSRFToken though.
Whereas, Spark imports spark-bootstrap.js instead, which does more-or-less the same thing.
So, instead of putting the import Echo from "laravel-echo" at the top of the app.js file, you can just include the bootstrap/echo.js file from the demo, but it must be required before require('./components/bootstrap');
Hence, app.js looks like:
require('spark-bootstrap');
require('./bootstrap/echo');
require('./components/bootstrap');
var app = new Vue({
mixins: [require('spark')]
});