Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/cenfun/socket-livereload
- Owner: cenfun
- License: mit
- Created: 2020-09-18T03:53:12.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-05-24T12:46:22.000Z (over 2 years ago)
- Last Synced: 2024-12-06T12:06:56.638Z (2 months ago)
- Topics: livereload, socket-io
- Language: JavaScript
- Homepage:
- Size: 16.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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