#liveload
A server which detect the file change and reload the resource at client side automatically, could be also used as a connect middleware for file watching and livereload server with snippet contains script tag injected on the fly.
About the snippet of script tag
##Installation
via npm:
$ npm install -g liveload
##File change notification
Need to install some sofeware to support the notification, refer to https://github.com/visionmedia/node-growl
##Use as static server
Goto the directory you want to serve, and type:
$ liveload
Open your browser and then edit the html/js/css file as you like, and enjoy live edit of css/js/html files.
##Use as connect middleware
var connect = require('connect')
, http = require('http')
, liveload = require('liveload');
var app = connect();
var root = process.cwd();
app.use(liveload({root:root, files:/.(js|css|html)$/,excludes:/^node_modules$/}))
.use(connect['static'](root))
.use(connect.directory(root));
http.createServer(app).listen(3000);
options
root
root directory for watching files, could be array of directory path, this is requiredfiles
regexp for watching files eg: /.(html|css|js)/exclude
excludes regex used for exclude foldersinject
boolean value indicate whether to inject the script element on the fly, default trueport
port number for the livereload server, default 35927
##Reset maxinum number for file watch
Nodejs would report an error if there's too many files for watching due to system limitation, on Linux you can change that by adding fs.inotify.max_user_watches = 524288
to the file etc/sysctl.conf
and restart the process by command:
sudo sysctl -p