In this chapter, we have learned what Browserify is and how you can organize your projects into Node modules to manage your code and dependencies in a cleaner way. To make the Contacts project compatible with
npm, we had to alter the code of the project; however, the changes are minimal.
There are other alternatives to Browserify, too; require.js and the AMD module definition are good to work with. However testing with require.js could be very difficult; I don't recommend you use
require.js if you want to test isolated modules (unit testing).
Webpack is another popular choice to bundle and organize your code base. Its main purpose is to work with frontend dependencies; it can load CommonJS modules and AMD modules. However, webpack is more complicated to configure and manage.