2.0.0 • Published 2 years ago

socket-livereload v2.0.0

Weekly downloads
12
License
-
Repository
github
Last release
2 years ago

socket-livereload

livereload for socket.io + koa

Install

npm install socket-livereload

Usage

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=<seconds>
    maxAge: 1,
    livereload: '\n<script src="/livereload.js" class="livereload" client="socket.io.min.js"></script>\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

npm run test

Changelog

  • 2.0.0
    • IE no longer supported
2.0.0

2 years ago

1.0.1

3 years ago

1.0.0

4 years ago