Как лучше реализовать SPA?
Последний vue-clie на webpack 2.x из коробки поддерживает code splitting. На выходе получается vendor.js (библиотеки из node_modules), app.js. Также посмотри в сторону lazy loading components.  То есть можно модалки например, или другие компоненты не грузить вообще если нет надобности. То есть на модалку вещаете директиву v-if и компонент подключаете так:components: {
  Modal: () => import('components/modal.vue');
}
При этом компонент на выходе будет лежать в отдельном файле и не загрузится до того, пока не отработает v-if.  
Если без v-if, то компонент загрузится асинхронно во время загрузки страниц. 
Я например, гружу так страницы через vue-router, асинхронно.
Удалить .js.map файлы. Это sourcemaps от webpack))
Дело в том, что месяц назад я добавил дополнительный loader в vue-loader.conf.js. И закомментил sourcemap-овский condition. А именно вот так:
Ха-ха. Просто я не знал как это организовать вместе)) Смешно правда?
Так вот решение: