You need only one root Vue instance, and then can globally register components to use within the #app element (such as front-page above). Typically you can place that #app element in a layout Blade template that loads app.js and is used (extended) by each page.
// resources/js/app.js
Vue.component('front-page', require('./components/Front.vue').default);
Vue.component('other-page', require('./components/Other.vue').default);
// resources/layouts/main.blade.php
<div id="app">
@yield('content')
</div>
// resources/pages/one.blade.php
@extends('layouts.main')
@section('content')
<front-page />
@endsection
// resources/pages/two.blade.php
@extends('layouts.main')
@section('content')
<other-page />
@endsection