SharpCoder
SharpCoder

Reputation: 19163

Making use of browserified NodeJS file into browser

I have a NodeJS file which I browserfied using browserify module. I used following command

browserify testFile.js -o bundle.js

To make use of this file in browser, I am making use of window object.

Assume below code is generated after browserifying the file.

var Main = function () {
   this.foo = function () {
   },
   this.temp= function () {
   },
   this.bar= function () {
   }
}

to make use I changed it to

window.Main = function () {
       this.foo = function () {
       },
       this.temp= function () {
       },
       this.bar= function () {
       }
    }

and then to use of these functions, I used following code:

var obj= new Main ();

and then I can say obj.foo(); or obj.bar();

All this is working fine but I wonder if this is the right way to call function from a browserfied file.

Please suggest correct way to make use of browserfied file.

Upvotes: 1

Views: 132

Answers (1)

jgillich
jgillich

Reputation: 76179

Browserify is a great tool when you use it for the entire project. It makes almost no sense to use it for single files only. The whole point of it is avoiding globals, instead of setting window.Main you could do this:

module.exports = function () {
   this.foo = function () {
   },
   this.temp= function () {
   },
   this.bar= function () {
   }
}

And then in all files that need access to the above, do:

var Main = require('./path/to/main.js');

Browserify resolves and inlines all require calls automatically so you only need to run Browserify on the single file that fires up the app.

Upvotes: 1

Related Questions