Я делаю игру в Vue, и я бы хотел, чтобы игроки могли играть вместе на расстоянии.Я только начинаю с сокетов, и я немного запутался.
Я начал с CLI "vue create".Вот код в моем main.js:
import Vue from "vue";
import App from "./App.vue";
import VueSocketio from "vue-socket.io";
Vue.use(VueSocketio, "http://localhost:8080/");
Vue.config.productionTip = false;
new Vue({
render: h => h(App),
}).$mount("#app");
Затем в моем App.vue (пытается обрезать до минимума):
<template>
<div id="app">
<input type="button" value="button" @click="clickButton()">
</div>
</template>
<script>
export default {
name: "app",
components: {
Grid,
ParamsForm,
Timer
},
data() {
[...]
},
methods: {
clickButton(data) {
console.log(data);
this.$socket.emit("customEmit", data);
}
},
sockets: {
connect: function() {
console.log("socket connected");
},
customEmit: function(val) {
console.log("this method was fired by the socket server.");
}
},
}
</script>
Так что у меня в основном 3 или4 вопроса.
В этой настройке, так как я использую vue-socket.io, нужно ли мне устанавливать и использовать Express и / или обычный socket.io поверх этого,или vue-socket.io должен охватывать все это?
При существующем положении вещей я никогда не вижу сообщения "сокет подключен", и консоль порождает сообщение POST http://localhost:8080/socket.io/?EIO=3&transport=polling&t=MkmvuSb 404 (Not Found)
каждые 3секунд или около того.Чего мне не хватает?
При нажатии на кнопку будет запущен файл console.log, но не this. $ Socket.emit ().Опять же, какой шаг я пропускаю?
Когда я получу работу с vue-сокетами, смогу ли я продолжить разработку с помощью команды npm run serve илиэто абсолютно необходимо, чтобы я использовал "node server.js" или что-то подобное вместо этого?
Все учебники, которые я обнаружил там, похоже, касаются только очень конкретного случая использования, и онине могу договориться о том, что требуется.
Большое спасибо за вашу помощь!