Ты путаешь тёплое с мягким.
ES-modules - это стандарт
javascript
и работает он с файлами
.js
. Ни о каких
.vue
он знать не знает. Нельзя просто написать
module
и ожидать что оно само заработает.
Для отднофайловых компонентов сборка в любом случае нужна. Сборщики используют
loader
'ы, которые собственно и творят всю магию. Когда ты пишешь
import componentName from './components/template.vue'
сборщик находит в конфиге специальный
loader
для
.vue
и запускает его, тот обрабатывает файл и выдаёт в результате валидный
js
, который уже в свою очередь и импортируется. Вне сборщиков, в чистом браузере, поддержки
loader
'ов само собой (пока?) нет.