Hi, I am new to Node.js too and this got me confused:

What is the difference between
*exports.nyFunc = myfunc;*
and
*module.exports = ...*

thanks,

Alain
=== Minha MesaXYZ: <http://mesa-reprap.blogspot.com.br/> ===

Em 11-11-2013 19:23, Charles Angel escreveu:
BOOM! Thank you...that was exactly what I was looking for. Much easier on the eyes and keeps everything away from Global

Thanks for everyone who responded so quickly.


On Monday, November 11, 2013 2:21:03 PM UTC-5, ajlopez wrote:

    Hmmm... maybe something like:

    function myfunction(...) {
    ...
    }

    function MyDice() {
    ...
       // calling my function
       myfuncion()
    }


    function MyDie() {
    ...
       // calling my function
       myfuncion()
    }

    module.exports =  {
        MyDice: MyDice,
        MyDie: MyDie
    }

    I don't sure you need to export myfunction, but you can include it
    in the about module.exports = { ... }

    Angel "Java" Lopez
    @ajlopez


    On Mon, Nov 11, 2013 at 3:43 PM, Charles Angel <[email protected]
    <javascript:>> wrote:

        I'm new to Node.js and finally making some headway before
        running into module.exports

        I wanted to separate some code out into an external file, so I
        created the file and called it probability.js

        The problem I ran into was having to define the function
        getRandomInt twice to allow it to be called by the Die methods
        and by the primary server code.  I'm sure this is a scope
        issue, but I have not been able to figure out how to resolve
        it in the proper way.  Ideally, I want the getRandomInt
        function defined one time within module.exports, but not part
        of Die or Dice objects while still allowing the Die and Dice
        methods to call it.  Any assistance is appreciated.



        module.exports = {

        // Returns a random integer between min and max
        // Using Math.round() will give you a non-uniform distribution!
        getRandomInt: function(min, max) {
            return Math.floor(Math.random() * (max - min + 1) + min);
        },
        Die: function(numSides) {
            // constructor;
            var sides = numSides;
            var lastRoll = -1;
            this.roll = function() {
                console.log("sides: %d", sides);
                lastRoll = getRandomInt(1, sides);
            }
            this.getLastRoll = function() {
                return lastRoll;
            }
        },
        Dice: function() {
            var myDie = new Array();
            var totalDie = 0;
            this.addDie = function(newDie) {
                myDie.push(newDie);
                totalDie = totalDie + 1;
            }
            this.roll = function() {
                for (i=0; i<totalDie; i++) {
                    myDie[i].roll();
                }
            }
            this.getTotalRoll = function() {
                var total = 0;
                console.log("Get Total Roll");
                for (i=0; i<totalDie; i++) {
                    console.log('Dice: %d = %d', i,
        myDie[i].getLastRoll());
                    total = total + myDie[i].getLastRoll();
                }
                return total;
            }
        }
        };

        // Returns a random integer between min and max
        // Using Math.round() will give you a non-uniform distribution!
        var getRandomInt = function(min, max) {
            return Math.floor(Math.random() * (max - min + 1) + min);
        }


        // Returns a random number between 0 (inclusive) and 1 (exclusive)
        var getRandom = function () {
        return Math.random();
        }

-- -- Job Board: http://jobs.nodejs.org/
        Posting guidelines:
        https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
        <https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines>
        You received this message because you are subscribed to the Google
        Groups "nodejs" group.
        To post to this group, send email to [email protected]
        <javascript:>
        To unsubscribe from this group, send email to
        [email protected] <javascript:>
        For more options, visit this group at
        http://groups.google.com/group/nodejs?hl=en?hl=en
        <http://groups.google.com/group/nodejs?hl=en?hl=en>

        ---
        You received this message because you are subscribed to the
        Google Groups "nodejs" group.
        To unsubscribe from this group and stop receiving emails from
        it, send an email to [email protected] <javascript:>.
        For more options, visit
        https://groups.google.com/groups/opt_out
        <https://groups.google.com/groups/opt_out>.


--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

---
You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to