Reputation: 1856
I've put together a little code in one file, which is below:
var exports = Symphonize;
function Symphonize(generation_specification) {
this.generate_spec = function(){
return generation_specification;
}
}
When I start another JavaScript file in the same project and require the code like so:
var symphonize = require('../bin/symphonize');
var Symp = new symphonize({"test":"test1"});
It throws the error:
/Users/adron/Codez/symphonize/tests/symphonize.js:8
var Symp = new symphonize({"test":"test1"});
^ TypeError: object is not a function at Object.<anonymous>
Is there another way I should be constructing this? I just want the "symphonize" code to require a simple object (an object of configuration that will be JSON) before any functions on that code are called.
Upvotes: 2
Views: 23344
Reputation: 3959
When setting the exports something you must do module.exports = Something. You should do something like :
module.exports = Symphonize;
If you had Symphonize as a property on the exports module.exports is not needed
exports.Symphonize = Symphonize;
Use it in a file.
var Symphonize = require('../bin/symphonize').Symphonize
Also var exports
is kind of ambiguous statement in Node.
Upvotes: 3