Let me introduce you OneJS: http://github.com/azer/onejs
It simply converts any CommonJS package into a single, stand-alone JavaScript file. It means, you can structure your client-side project just like a NodeJS project and you can convert your NodeJS project to a single file just like a client-side project.
Unlike Browserify, OneJS is unobtrusive [1], provides an accurate implementation of CommonJS specs [2] and the output it produces is suitable for splitting and having async dependencies.
[1] A chess website built with OneJS: http://multiplayerchess.com/mpc.js
[2] ExpressJS built with OneJS, with all dependencies: https://gist.github.com/2415048