[Whole Web] [Node.js] [Browserify] [Grunt] Automation task with grunt-browserify & grunt-contrib-watch
What we want is when the server side Node.js files have been changed, we want to use browserify to bundle all file and output just one file and later to show the console result in the browser.
For this, frist we need auto-watch: grunt-contrib-watch:
npm install grunt-contrib-watch --save-dev
Then we also install grunt-browserify:
npm install grunt-browserify --save-dev
Create 'GruntFile.js' and put in:
module.exports = function(grunt) { grunt.initConfig({ browserify: { 'server-build/app.js': ['server/**/*.js'] }, watch: { files: ["server/**/*.js"], tasks: ['browserify'] } }); grunt.loadNpmTasks('grunt-browserify'); grunt.loadNpmTasks('grunt-contrib-watch'); }
What it says is that:
1. Watch all the files under server dir, including nested dir and theirs files.
2. Once those files have been modified, run browserify task.
3. The browserify task says that: bundle all the files in server dir and output to server-build dir's app.js file.
Then you can run:
grunt watch
Test file:
server/app.js:
var test = require('./test'); console.log(test());
server/test.js:
module.exports = function(){ return "Hello World"; }
More:
http://codeofrob.com/entries/grunt+browserify+npm+application=success.html