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.html
For this, frist we need auto-watch: grunt-contrib-watch:git
npm install grunt-contrib-watch --save-dev
Then we also install grunt-browserify:github
npm install grunt-browserify --save-dev
Create 'GruntFile.js' and put in:npm
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: app
1. Watch all the files under server dir, including nested dir and theirs files.ide
2. Once those files have been modified, run browserify task.grunt
3. The browserify task says that: bundle all the files in server dir and output to server-build dir's app.js file.ui
Then you can run:this
grunt watch
Test file:spa
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