На текущий момент сайт без каких-либо сборок и vuex'ов, в компонентах через методы вызываются эмиты, а ответы принимает второй инстанс vue, который является что-то вроде глобальной переменной.
Хочу переделать с использованием vue-cli. И вот тут у меня возник вопрос, где будет правильно ставить подписку на события извне ? В экшенах vuex или сразу в мутациях или же вообще за пределы выносить. Все мутации происходят только с подачи сигналов из сокета, ну крому авторизации, она через ajax.
Как это выглядит у сейчас
var bus = new Vue({
//служит в роли глобал стейта
data: {
//соответствено все переменные состояния здесь
},
methods: {
//это функция вызывается подписки
subOnEvents: function() {
socket.on('some1',function(e) {
//отсюда уже происходят изменения стейта ака мутации
})
.on('some2',function(e) {})
.on('some3',function(e) {})
.on('some4',function(e) {})
.on('some5',function(e) {});
},
created: function() {
//здесь ajax на авторизация и вызов метода на подписку сокетов
}
}
});
var vm= new Vue({
//используется просто как маунт
el: '#app',
router
});
все компоненты находятся прямо в роутере как html код
{
path: 'some',
component: {
template: '<div @click="userWantSomeChanges()">Прям вообще все</div>',
methods: {
//и из их методов уже идут эмиты на сервер
userWantSomeChanges: function() {
socket.emit('serverSideSocket', { bus.user.id };
}
}
}
}
Даст ли какие-либо преимущества переход на cli-vue + vuex + сборка, при условии что над проектом всегда будет работать 1 человек. Из очевидных для меня, это только меньший размер основного скрипта и все.