Ответ 1
Я абсолютно уверен, что этого еще не существует, потому что, хотя это может показаться относительно легким, некоторые функциональные возможности сделают его довольно сложным для реализации. Например:
- Вы не обязательно импортируете только другие компоненты.vue, вы можете импортировать случайные внешние зависимости. Это означает, что браузеру теперь нужно загружать и анализировать модули npm, обрабатывать их зависимости и т.д.
- Различные разделы вашего компонента.vue (шаблон, логика и стиль) могут быть написаны на языках, отличных от HTML, JS и CSS. Это означает, что браузер теперь также нуждается в загрузке компилятора/транспилятора для Jade, CoffeeScript, LESS или любого другого, что вы используете, и запускайте свой код через него. Разумеется, нет никакой гарантии, что такой транспилер, написанный на JavaScript, действительно существует, потому что модуль узла, используемый в процессе регулярной сборки, может быть просто оболочкой для какой-либо внешней библиотеки, которая не может быть запущена в браузере.
- Стилирование в компоненте.vue может быть ограничено, что означает, что теперь вам нужно проанализировать шаблон компонента для вставки случайно сгенерированных идентификаторов в качестве атрибутов элементов. И проанализировать стиль одного и того же компонента, чтобы вставить те же идентификаторы в ваши селектор CSS, чтобы ваш стиль заканчивается областью.
И это самые очевидные из моих ног. Конечно, вы можете сильно ограничить себя и не использовать какие-либо из этих функций, но тогда это не действительно компонент.vue, не так ли?
Если вы действительно хотите избежать процесса сборки любой ценой и готовы принять ограничения на использование каких-либо функций выше, почему бы просто не использовать один JS файл:
$(body).append('<style>
// styling goes here
</style>');
var myTemplate = '
// template goes here
';
Vue.component('my-component', {
template: myTemplate
// component logic goes here
})
Вы должны загрузить их в правильном порядке, но там у вас это есть, один компонент для одного человека.