Итак, я использую стек: MongoDB, NodeJS, Vue / Nuxt, Express, SocketIO, и я хочу разделить мои вызовы сокетов на файлы JS, а затем объединить их все как индексный файл и включить его в свой файл по умолчанию. Vue layout.
Сейчас это выглядит так:
<template>
<div>
<!-- <loader v-if="loading"></loader> -->
<nuxt />
</div>
</template>
<script>
import socket from '~/plugins/socket.io.js'
import Loader from '~/components/init/Loader'
export default {
components: {
Loader
},
data() {
return {
loading: true
}
},
created(){
Promise.all([
this.$store.dispatch('todos/INIT'),
]).then(() => {
setInterval(() => {
this.loading = false
}, 1000);
});
socket.on('new-item', (data) => {
this.$store.dispatch('todos/ADD', data.item)
})
socket.on('check-item', (data) => {
this.$store.dispatch('todos/CHECK', data.item)
})
socket.on('removed-item', (data) => {
this.$store.dispatch('todos/REMOVE', data.item)
})
}
}
</script>
<style>
html, body {overflow-x: hidden;}
</style>
Я хочу иметь возможность просто включить файл, который содержит все мои функции socket.on, поэтому здесь нет 800 строк сокетано я не могу понять, как лучше. Мне кажется, что module.exports не работает для меня и просто не требует файла.