Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cenfun/socket-livereload

socket.io-livereload
https://github.com/cenfun/socket-livereload

livereload socket-io

Last synced: 5 days ago
JSON representation

socket.io-livereload

Awesome Lists containing this project

README

        

# socket-livereload
> livereload for socket.io + koa

## Install
```sh
npm install socket-livereload
```

## Usage

```js
const http = require("http");
const Koa = require("koa");
const KSR = require("koa-static-resolver");
const socketIO = require("socket.io");

const open = require("open");

const app = new Koa();
app.use(KSR({
dirs: [
"./test/client/",
//for livereload
"./node_modules/socket.io-client/dist/",
//"./node_modules/socket-livereload/dist/",
"./dist/"
],
//max-age=
maxAge: 1,
livereload: '\n\n'
}));

const server = http.createServer(app.callback());
const io = socketIO(server);
io.on("connection", function(client) {
client.on("data", function(data) {
});
client.on("disconnect", function() {
console.log(`${new Date().toString()} a preview page disconnected`);
});
console.log(`${new Date().toString()} a preview page connected`);
});

const sockets = io.sockets;

const port = 8080;
server.listen(port, function() {
const url = `http://localhost:${port}`;
console.log(`${new Date().toString()} server started: ${url}`);
open(url);
});

//test
const refreshHandler = function() {

setTimeout(function() {

sockets.emit("data", {
message: "Show something ..."
});

setTimeout(function() {

sockets.emit("data", {
message: "Reloading for something ...",
action: "reload"
});
refreshHandler();

}, 3000);

}, 3000);

};

refreshHandler();

```

## Test

```sh
npm run test
```

## Changelog

- 2.0.0
- IE no longer supported