2

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.

2
  • 2
    This should probably be moved to SO. Commented Jan 3, 2014 at 18:21
  • you're right. I've since stopped posting said items here. Commented Jan 7, 2014 at 23:35

1 Answer 1

3

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.