1 | # LiveReload server in Node.js
|
2 |
|
3 | Implementation of the server side of the [LiveReload protocol](https://github.com/livereload/livereload-protocol) in Node.js; a component of LiveReload.app and some other projects.
|
4 |
|
5 | Status: beta (expected to work, but not tested in production yet).
|
6 |
|
7 |
|
8 | ## Installation
|
9 |
|
10 | npm install livereload-server
|
11 |
|
12 |
|
13 | ## Example
|
14 |
|
15 | See example/dummy-server.js for a runnable version of this code:
|
16 |
|
17 | var fs = require('fs');
|
18 | var Path = require('path');
|
19 | var LRWebSocketServer = require('livereload-server');
|
20 |
|
21 | // id, name, version identifies your app;
|
22 | // protocols specifies the versions of subprotocols you support
|
23 | var server = new LRWebSocketServer({ id: "com.example.acme", name: "Acme", version: "1.0", protocols: { monitoring: 7, saving: 1 } });
|
24 |
|
25 | server.on('connected', function(connection) {
|
26 | console.log("Client connected (%s)", connection.id);
|
27 | });
|
28 |
|
29 | server.on('disconnected', function(connection) {
|
30 | console.log("Client disconnected (%s)", connection.id);
|
31 | });
|
32 |
|
33 | server.on('command', function(connection, message) {
|
34 | console.log("Received command %s: %j", message.command, message);
|
35 | });
|
36 |
|
37 | server.on('error', function(err, connection) {
|
38 | console.log("Error (%s): %s", connection.id, err.message);
|
39 | });
|
40 |
|
41 | server.on('livereload.js', function(request, response) {
|
42 | console.log("Serving livereload.js.");
|
43 | fs.readFile(Path.join(__dirname, 'res/livereload.js'), 'utf8', function(err, data) {
|
44 | if (err) throw err;
|
45 |
|
46 | response.writeHead(200, {'Content-Length': data.length, 'Content-Type': 'text/javascript'});
|
47 | response.end(data);
|
48 | });
|
49 | });
|
50 |
|
51 | server.on('httprequest', function(url, request, response) {
|
52 | response.writeHead(404);
|
53 | response.end()
|
54 | });
|
55 |
|
56 | server.listen(function(err) {
|
57 | if (err) {
|
58 | console.error("Listening failed: %s", err.message);
|
59 | return;
|
60 | }
|
61 | console.log("Listening on port %d.", server.port);
|
62 | });
|
63 |
|
64 |
|
65 |
|
66 | ## License
|
67 |
|
68 | © 2012, Andrey Tarantsov, distributed under the MIT license.
|