In this example we have a file called file.js.
Let's assume that you have to parse an URL using JavaScript and NodeJS querystring module.
To accomplish this all you have to do is to insert the following statement in your file:
const querystring = require('querystring');
var ref = querystring.parse("foo=bar&abc=xyz&abc=123");
Well, first, we create a querystring module which provides utilities for parsing and formatting URL query strings. It can be accessed using:
const querystring = require('querystring');
Then, we parse a URL using the .parse() method. It parses a URL query string (str) into a collection of key and value pairs.
For example, the query string 'foo=bar&abc=xyz&abc=123'
is parsed into:
{ foo: 'bar', abc: ['xyz', '123'] }
Unfortunately, Browsers don't have the require method defined, but Node.js does.
With Browserify you can write code that uses require in the same way that you would use it in Node. So, how do you solve this? It's simple.
npm install -g browserify
npm install querystring
Note: If you don't change in the specific directory the command will fail because it can't find the file which contains the module.
browserify file.js -o bundle.js
Browserify parses the Abstract Syntax Tree for require() calls to traverse the entire dependency graph of your
<script src="bundle.js"></script>
What happens is that you get a combination of your old .js file (file.js that is) and your newly created bundle.js file. Those two files are merged into one single file.
Important
Please keep in mind that if you want to make any changes to your file.js and will not affect the behaviour of your program. Your changes will only take effect if you edit the newly created bundle.js
This means that if you want to edit file.js for any reasons, the changes will not have any effects. You really have to edit bundle.js since it is a merge of bundle.js and file.js.