2017-01-28 1 views
1

Ich benutze socket.io in einem Webpack/Vue-Projekt (gebaut von vue-cli).Vue - Wie verwende ich einen anderen socket.io Port in Tests?

Dies ist, wie die Client initialisiert socket.io:

var socketlib = require('socket.io-client') 
var socket = socketlib('http://localhost:3000/') 

Ich mag einen anderen Port in Tests verwenden, um mich zu ermöglichen, Tests auszuführen, während der Entwickler-Server ist (3001 für Tests).

Wie kann ich den Client 3001 Port in Tests zugreifen? Benötige ich serverseitiges Rendering dafür?

+1

Sie benötigen eine Möglichkeit, um Ihrer Vue-App mitzuteilen, dass sie sich im Dev-Modus befindet. Dies kann beispielsweise durch serverseitiges Rendern erfolgen: Einstellen einer Konfigurationsvariablen. Oder zwei verschiedene Apps, die aber auch serverseitig in den HTML-Code eingefügt werden. Grundsätzlich: Ja, Sie brauchen serverseitiges Rendering. – keksnicoh

+0

@keksnicoh das ist, was ich dachte. Konvertiere in eine Antwort und ich akzeptiere. – ripper234

Antwort

1

Die Antwort ist ja.

Jeder Ansatz ist im Grunde serverseitig Rendering. Man muss der Anwendung Informationen geben, dass es sich im Dev-Modus befindet. Entweder haben Sie eine separate dev-app.js, einige Javascript-Konfiguration, ein Element Attribut oder was auch immer. Selbst wenn eine separate dev-app.js vorhanden ist, muss sie in den HTML-Code gerendert werden, so dass das Anwendungsskript dev-app.js ist.

Verwandte Themen