1 | module.exports = function clientReloader (port) {
|
2 | return `
|
3 | (function (global) {
|
4 | try {
|
5 | const socketio = document.createElement('script')
|
6 | socketio.src = 'https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.1.1/socket.io.slim.js'
|
7 | socketio.onload = function init () {
|
8 | var disconnected = false
|
9 | var socket = io('http://localhost:${port}', {
|
10 | reconnectionAttempts: 3
|
11 | })
|
12 | socket.on('connect', () => console.log('rola watch'))
|
13 | socket.on('update', () => {
|
14 | global.location.reload()
|
15 | })
|
16 | socket.on('disconnect', () => {
|
17 | disconnected = true
|
18 | })
|
19 | socket.on('reconnect_failed', e => {
|
20 | if (disconnected) return
|
21 | console.error("rola - connection to server on :${port} failed")
|
22 | })
|
23 | }
|
24 | document.head.appendChild(socketio)
|
25 | } catch (e) {}
|
26 | })(this);
|
27 | `
|
28 | }
|