javascript - Nodejs referencing module.exports -
i'm trying js code shared between browser , nodejs server. that, use these practises: http://caolanmcmahon.com/posts/writing_for_node_and_the_browser/
the problem when want export function, not object. in node like:
var constructor = function(){/*code*/}; module.exports = constructor; so when require used can do:
var constructor = require('module.js'); var oinstance = new constructor(); the problem when try reference module.exports object in module , use reference overwrite function. in module be:
var constructor = function(){/*code*/}; var reference = module.exports; reference = constructor; why doesn't work? don't want use easy solution insert if inside clean code, want understand why illegal, though reference===module.exports true.
thanks
it not work because reference not point module.exports, points object module.exports points to:
module.exports \ -> object / reference when assign new value reference, change reference points to, not module.exports points to:
module.exports \ -> object reference -> function here simplified example:
var = 0; var b = a; now, if set b = 1, value of a still 0, since assigned new value b. has no influence on value of a.
i want understand why illegal, though reference===module.exports true
it not illegal, how javascript (and other languages) work. reference === module.exports true, because before assignment, both refer same object. after assignment, references refers different object modules.export.
Comments
Post a Comment