> My one complaint is that Vue components place templating, code and styles in a single file and I'd prefer a directory with three (or more) separate files.
You can have that. You do need an index.vue file containing something like:
<template src="my-component.html" />
<script src="my-component.js" />
<style scoped lang="scss" src="my-component.scss" />
If you put that into a directory called my-component/ then you can just do: import MyComponent from 'my-component'
…and it will pull everything in.
My one complaint is that Vue components place templating, code and styles in a single file and I'd prefer a directory with three (or more) separate files.